created: 2020-08-28T09:45:04.000Z

TypeScriptのモジュール読み込みについて

tscが import './foo'foo を探す順番 なお、探すファイルの拡張子は .ts, .d.ts, .js

  1. ./foo.ts
  2. ./foo/index.ts
  3. ./foo/package.json#types で指定されてるファイル
  4. ./foo/package.json#main で指定されてるファイル

package.json#module

これは依存関係を静的に解決する時に使われるものでtscはこれを参照しない。 ここに定義されるのはESMで記述されたjsファイルである。

webpackなどのtree-shakingを行うトランスパイラはmainでなくこちらを使おうとする

参考

勉強が一番、簡単でした 読んだら誰でも勉強したくなる奇跡の物語
[ad] 勉強が一番、簡単でした 読んだら誰でも勉強したくなる奇跡の物語
チャン・スンス, 吉川 南 (単行本(ソフトカバー))