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

参考

systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート (Software Design plusシリーズ)
[ad] systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート (Software Design plusシリーズ)
森若 和雄 (単行本(ソフトカバー))