2024-04-24 Node.js module
よいまとめだったのでメモ。
このへんいっつも混乱してぐっちゃになるのでいいまとめ » Node.js + TypeScriptのモジュールを整理してみる https://t.co/CnYG5BGnqa
— toshimaru (@toshimaru_e) April 23, 2024
拡張子
.js-> 基本はCommonJS。package.json次第で挙動が変わる.mjs-> ESM.cjs-> CommonJS
package.jsonのtype
"type": "module"-> そのディレクトリ以下は .js をESM扱い"type": "commonjs"-> そのディレクトリ以下は .js をCommonJS扱い
読み込み
- ESMからCommonJS -> できる
- CommonJSからESM -> できない(DynamicImportならできる)
で、どうするの?
「
package.jsonに"type": "module"を設定 &&tsconfig.jsonのcompilerOptions.moduleにNodeNextを設定」をして「.jsでESMを利用する」状態で作る。