- URL: Node.js + TypeScriptのモジュールを整理してみる
- 著者: @koh110
- 公開日: 2024-04-23
いつ読むか?
- ESM と CommonJS をもう一度理解したいとき
読書メモ
要点
- Node.js のモジュール形式は拡張子と
package.jsonの"type"フィールドで決まる.js: デフォルトは CommonJS、"type": "module"で ESM.mjs: 常に ESM、.cjs: 常に CommonJS
- ESM から CommonJS は読み込める。CommonJS から ESM は読み込めない(重要)
推奨設定
新規プロジェクト:
package.jsonに"type": "module"tsconfig.jsonに"module": "NodeNext"
公開ライブラリ:
- CommonJS と ESM の両対応(デュアルパッケージ)が現実的
いつ使うか
- Node.js + TypeScript プロジェクトの初期設定時
- ESM 移行を検討するとき
- CommonJS から ESM が読み込めないエラーに遭遇したとき