2

私は、node.js のモジュール ローダーと、新しいハーモニー モジュールの仕様に非常に興味があります。

概ね気に入っているスペックですが、解決方法がよくわからない問題があります。

クロスプラットフォームの JavaScript ライブラリを構築したい場合、同じジョブに対して異なるプラットフォームで異なるライブラリを使用する必要がある場合があります。たとえば、node.js の Buffer モジュールはブラウザには存在しないため、プラットフォームに応じて異なるコードをロードする抽象化モジュールを作成する必要があります。

ハーモニーはコードの実行前に依存関係を解決するため、すべてのプラットフォームではなく、1 つのプラットフォームのコードのみをロードする必要があることをどのように知ることができるでしょうか?

ブラウザで、node.js でしか実行されないコードをロードしたくないのですが、この問題はどのように解決されますか?

4

1 に答える 1

1

ES6 でモジュールをロードする方法は 2 つあります。(1) 静的に、module X at "url"宣言 (または最終的にどのような具体的な構文) を使用するか、(2) loaderloadのメソッドを使用して動的に。あなたのシナリオでは、コンテキストに依存するモジュールにオプション 2 を使用することをお勧めします。

ブラウザーでは、複数のタグを使用してプログラムをステージング<script>する方法もありますが、それは node.js には適用されないため、ユース ケースにはおそらく役立ちません。

于 2012-11-06T11:42:12.380 に答える