4

この記事から: https://hacks.mozilla.org/2015/08/es6-in-depth-modules/

と書かれています

新しい標準は、既存の CommonJS および AMD モジュールと相互運用できるように設計されています。

そしてより正確には

すべての CommonJS および AMD モジュールは、デフォルトのエクスポートを持つものとして ES6 に提示されます

本当にそうである場合、必要なのは ES6 ポリフィルだけであり、他に何も使用する必要はありません。

ただし、たとえば、この ES6 Polyfill : https://github.com/ModuleLoader/es6-module-loaderは、ES6 からの CommonJS/AMD モジュールのロードを許可していないようですが、SystemJS のようにその上に構築されたソリューションのみが許可されています。

質問は次のとおりです。公式の ES6 標準が、CommonJS/AMD をサポートする必要があると述べているのは本当ですか (デフォルトのエクスポートがあると提示されることによって) ?

もしそうなら、そう言っているESCMA仕様への参照はありますか? そして、それがポリフィルの上に構築されたソリューションではなく、ポリフィル自体の機能ではないのはなぜですか?

4

1 に答える 1

4

これまでのところ、私が理解していることはここにありますが、間違っている可能性があるため、確認/修正を歓迎します.

  • ECMAScript 6は、AMD、CommonJS、またはその他のモジュール形式との互換性を指定していません。仕様で定義されている ECMAScript 6 モジュールのみを許可します。

  • ただしこのソースから:

モジュール ローダー: ES2015 の一部ではありません。これは、ECMAScript 2015 仕様内で実装定義として残されています。最終的な標準は WHATWG の Loader 仕様に含まれる予定ですが、これは現在進行中の作業です。

Module Loader 仕様により、独自のカスタム モジュール ローダーを定義できます。したがって、AMD、CommonJS などをインポートすることが可能になります...そのようなモジュールをロードする方法を記述する独自のローダーを作成します。ただし、カスタムモジュールローダーがこのリソースの解釈方法を記述している限り、コーヒースクリプトやその他のリソースをロードすることもできます。

于 2016-01-17T18:20:29.133 に答える