Node.js は ES6 モジュールのサポートをどのように進化させましたか?

Mary-Kate Olsen
リリース: 2024-11-07 21:08:03
オリジナル
199 人が閲覧しました

How has Node.js evolved its support for ES6 Modules?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!