tsconfigのmoduleResolution
以下2つをどのように紐づけるかという話
実際のディスク上のファイル
runtimeや、bundlerのmodule resolverに合わせて設定する必要がある
重要なこと
こっちを先に読んだほうがいいかも
TypeScriptのプロジェクトは登場する拡張子がやたらある
.js, .ts, .d.ts
.mjs, .mts, .d.mts
.cjs, .cts, d.cts
jsx, .tsx
この辺をどのように解決するかというのを制御している
選択肢
node16
つまり、Node.js側の設定を参照する
nodenext
2024/4現在はnode16と同じ
bundler
あんまりよくわかっていないmrsekut.icon
Webpackなどのbundlerで使用されるmodule解決の挙動を再現する
Node.js v12では、npmパッケージをインポートするための新しいモジュール解決機能(package.jsonの "exports "フィールドと "imports "フィールド)が導入され、多くのバンドルがESMインポートのより厳格なルールを採用することなく、これらの機能を採用しました。 ref ----↓基本使わなそう-----
node10
以前はnodeだった
Node.js v12以前のmodule解決の挙動を再現する
classic
TypeScriptの最も古いモジュール解決モード
新規プロジェクトでは基本的に使用しない
参考
丁寧な解説