高校倫理1433840 views
LaTeX957673 views
中学英語809046 views
中学理科1626729 views
世界の国560930 views
英語608453 views
MathPython492025 views
高校国語785873 views
小学社会308762 views
りんご194232 views
Help
Tools

English

JavaScript は CommonJS と ESM のどちらを使うべきか

CommonJS は昔から Node.js で使われてきたけれど、今はもう少しずつ役目を終えつつある。現在の標準は ES Modules(ESM)で、import / export を使うスタイルが主流になっている。

CommonJS

Node.js で長く使われてきた形式。require() による動的読み込みができて便利だが、ブラウザではそのまま動かない。

ES Modules

ECMAScript の正式仕様。import / export でモジュールを扱い、ブラウザと Node.js の両方で動く。非同期ロードやツリーシェイキングにも対応している。

今の目安をまとめるとこんな感じ。

Node.js 18 以降 → ESM が正式対応(.mjs または package.json の "type": "module")
ブラウザ → ESM が完全標準
Bundler(Rollup, Vite, Webpack など)→ すべて ESM ベース
NPM パッケージ公開 → ESM または dual(CommonJS + ESM)構成が推奨

これから新しく作るなら、基本は ESM にしておくのが安心。ただ、既存のコードやライブラリとの兼ね合いで、CommonJS が混ざることもまだよくある。