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でなくこちらを使おうとする

参考

ERROR FREE 世界のトップ企業がこぞって採用したMIT博士のミスを減らす秘訣
[ad] ERROR FREE 世界のトップ企業がこぞって採用したMIT博士のミスを減らす秘訣
邱強, 牧髙光里 (Kindle版)