Node.js が ES6 モジュールをサポートする計画: 詳細な分析
Node.js JavaScript ランタイム環境は、長い間 CommonJS モジュールをサポートしてきました。外部コードをロードするため。しかし、ES6 (ECMAScript 2015) の登場により、ネイティブ モジュール サポートの導入により、Node.js はインポート/エクスポート モジュールを受け入れるでしょうか?
Node.js 13.2.0 以降
Node.js 13.2.0 では、実験的フラグを必要とせずに ES モジュールのサポートが導入されました。 ECMAScript モジュール (ESM) サポートを有効にするには、package.json ファイルを次のように設定する必要があります。
{ "type": "module" }
.js、.mjs、または拡張子のないすべてのファイルは ESM として扱われます。 ES モジュールを有効にする別の方法も利用可能であり、リリース ノートに記載されています。
Node.js 13.1.0 以前
古い Node.js バージョンの場合、 [esm](https://github.com/standard-things/esm) モジュール ローダーは、ES モジュールの本番環境に対応した実装を提供します:
node -r esm main.js
開発履歴タイムライン
2019 年 4 月 23 日
ECMAScript モジュールの検出メカニズムの更新が統合され、package.type (module または commonjs) のオプションと、エントリ ポイントを指定する新しいオプションが導入されました。タイプとモジュール指定子の解決。
2019 年 1 月 17 日
Node.js 11.6.0 には、実験的機能として ES モジュールが含まれており、次のフラグを使用して有効化されました。
node --experimental-modules index.mjs
このフラグは v10.0 LTS リリースで削除される予定でした。
2017 年 9 月 13 日
Node.js 8.5.0 が追加されましたフラグの背後でアクセス可能な .mjs ファイルのサポート:
node --experimental-modules index.mjs
当初の意図は、v10.0 LTS リリースではこのフラグを削除することでした。
2017 年 9 月 8 日
ESM モジュールの初期サポートが Node.js マスター ブランチに追加され、--experimental-modules フラグでアクセスできるようになりました。
2017 年 2 月
Node.js チームは、CommonJS モジュールと ES モジュールの共存を可能にする、最も中断の少ないソリューションとして .mjs ファイル拡張子を使用する決定を発表しました。実装には少なくとも 1 年かかると推定されました。
2016 年 10 月
TC-39 会議の後、Node.js 開発者は ES モジュールの実装における課題の概要を説明しました。主な問題には、静的対動的分析、モンキーパッチ適用、モジュール検出などが含まれます。 *.mjs 拡張子の使用が可能性の高い解決策として浮上しました。
2016 年以前
Node.js での ES モジュールのサポートに関する議論は、長い間続いていました。かなりの期間。新しい仕様に対応しながら、Node.js と HTML の異なる要件に対処することを目的としたさまざまな提案と議論。
以上がNode.js は ES6 モジュールのサポートをどのように進化させましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。