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を利用する」状態で作る。