MJS CJS
ファイル変換

MJS から CJS への変換

クイック回答
MJS を CJS に変換することは可能ですか?
はい - MJS は CJS に変換可能です。

.mjs ファイルは ES モジュール構文を使用し、.cjs は CommonJS を使用します。esbuild や Babel などのバンドラーは、importrequire に、exportmodule.exports に自動的に書き換えます。主な障害は、CommonJS では表現できないトップレベルの await です。

このページの内容

macOS、Windows、Linux でテスト済み
最終検証日:Sep 2026

その他の無料コンバーター

HEIC、PNG、WEBP、MP3 など、すべてのツールが無料です。

ツールボックスを開く

なぜ MJS を CJS に変換するのですか?

CommonJS を想定している古い Node.js 環境やツールでコードを実行するため、または ESM 版と並行して require 互換のビルドを提供するために .CJS に変換します。ロジックは同じままで、モジュールの接続部分のみが変更されます。

MJS から CJS への変換方法

Babel OPEN-SOURCE

設定に @babel/plugin-transform-modules-commonjs を追加し、babel input.mjs -o output.cjs を実行してインポートを require に書き換えます。

Rollup FREE

rollup.config.jsoutput.formatcjs に設定してビルドします。Rollup は ESM エントリから CommonJS バンドルを出力します。

これらの形式について

品質と注意点

  • トップレベルの await には CommonJS 相当の機能がないため、変換に失敗します。
  • 名前付きエクスポートは module.exports のプロパティになり、デフォルトエクスポートとの相互運用性は微妙に異なる場合があります。
  • 相対的な import パスや import.meta.url は、CommonJS 出力に合わせて調整が必要になる場合があります。

よくある質問

手動で変換できますか?
小さなファイルなら可能です。import x from 'y'const x = require('y') に、exportmodule.exports に置き換えます。
ビルドが失敗したのはなぜですか?
最も多い原因はトップレベルの await です。これは CommonJS では表現できないため、非同期関数の中に移動させてください。
拡張子を .cjs に変更する必要がありますか?
はい、package.json"type": "module" が設定されている場合は必要です。.cjs 拡張子は Node に対して強制的に CommonJS として扱うよう指示します。
どのツールが一番速いですか?
単一のコマンドであれば esbuild が最速です。Babel と Rollup は出力に対してより細かい制御が可能です。