2016-07-06 6 views
2

ES6モジュールとクラスを使用してアプリケーションをコーディングする場合は、モジュールローダーフレームワークを使用する必要はありませんか、またはビルドツールを使用してすべてのコードをファイルに連結し、通常のスクリプトタグを使用していますか?まだJavaScript ES6のモジュールとクラスを使用するアプリケーションでモジュールローダーが必要ですか?

+0

一部のモジュール・ローダーでは余分な機能が追加されています。たとえば、Dojoのモジュール・ローダーでは、モジュールのロード方法をカスタマイズできます。 – aximus

+0

イメージやフォントなどの他のアセットを扱うことは、モジュールローダーで簡単に行うことができます。場合によっては、複数のファイルに特定のモジュールが必要な場合があります。その場合、ローダはコードを2度考えなくても手配することができます。 –

答えて

1

はい。行のどこかに誰かがモジュールをロードしなければなりません。

あなたはモジュールをコンパイルする前に、それらを個別に読み込んでいると思います。 Webpackは、ブラウザが後で使用できるように単一のファイルを出力するモジュールローダーであり、一方、System APIとrequirejsらは多数の個別ファイルをロードします。

両方のパフォーマンス要因があります。特に、ビルド時間が長い(プリコンパイルの場合)とロード時間が長い(複数のファイルの場合)場合があります。

のWebPACK、Browserify、および他のほとんどのモジュールローダー(System APIの注目すべき例外では)だけでなく、あなたが特定のファイルタイプのためのいくつかのローダーを定義し、自動的に通過途中で、あなたの(S)CSSやテンプレートをコンパイルすることができますあなたのコードを醜くするか、難読化するための他のツールを実行する。 ES6 System APIはこれらの機能を提供しませんが、ほとんどの場合よりも堅牢な実行時ローダーです。

これは、二つのトレードオフに沸く:

  • ビルド時間に対する単一の要求を非JSモジュールの

    1. サポート(スタイル、テンプレート)と長く、多くの要求やショート/なしビルド対ビルドし

    あなたのユーザ(高帯域幅対モバイル)、環境(2人のCIエージェントがあれば、ビルドに余分な時間がかかりますか?)とスタック(テンプレートがたくさんある場合ファイルをコンパイルすることは重要です)。

  • 関連する問題