2016-08-10 6 views
6

JavaScriptでモジュールローダーとモジュールバンドルに関する情報を提供できる人はいますか?JavaScriptでModule LoaderとModule Bundlerの違いは何ですか?

  • 違いは何ですか?
  • いつモジュールローダーを使用する必要がありますか?
  • 私たちはなぜそれらを必要としますか?
+0

はい、誰でもあなたの選択した検索エンジンを使用してそのような情報を得ることができます –

+0

@JKL私の答えは遅いですが、それが役に立つかどうかを見てください。 – benjiman

答えて

16

モジュールローダーとバンドルは両方とも、モジュラーJavaScriptアプリケーションを記述するのに役立ちます。モジュールローダは通常、ロード解釈し、そのようなAMDCommonJSとして使用すると、特定のモジュール形式/構文を使用して定義されたJavaScriptモジュールを実行することができますいくつかのライブラリである

モジュールローダー

:私はあなたにいくつかの背景を与えてみましょう。

モジュラーJavaScriptアプリケーションを作成すると、モジュールごとに1つのファイルが作成されます。したがって、何百ものモジュールからなるアプリケーションを書くときには、すべてのファイルが正しい順序で含まれているかどうかを確認するのはかなり苦しいことになります。したがって、基本的に、アプリケーションの実行時にすべてのモジュールがロードされていることを確認することで、ローダーが依存関係管理を行います。アイデアを得るには、RequireJSSystemJSのような一般的なモジュールローダーをチェックアウトしてください。

モジュールbundlers

モジュールbundlersローダーモジュールに代替されています。基本的には同じこと(相互依存モジュールの管理と読み込み)を行いますが、実行時ではなくアプリケーションビルドの一部として実行します。したがって、コード実行時に表示される依存関係をロードする代わりに、バンドラは実行前にすべてのモジュールを1つのファイル(バンドル)にまとめます。人気のある2つのオプションとして、WebpackBrowserifyをご覧ください。

何を使用するか?

アプリケーションの構造とサイズによって、どちらが良いかが決まります。

バンドラの主な利点は、ブラウザがダウンロードするファイルがはるかに少ないことです。これにより、アプリケーションにパフォーマンスの優位性がもたらされます。がロードにかかる時間を短縮できます。 しかし、は、アプリケーションに含まれるモジュールの数に応じて、必ずしもそうである必要はありません。特に大型のアプリケーションの場合、1つの巨大なモノリシックファイルを読み込むと、最初からアプリを起動できなくなる可能性があるため、モジュールローダーがより良いパフォーマンスを提供することがあります。それは単にテストして見つけなければならないものです。 ECMAScriptの2015(またはES6)モジュールのそれ自身、ネイティブ実装が付属していることを

ES6/ES2015更新

注意。あなたは簡単なイントロhereを得ることができます。

+0

上記のすべてを同じ場所で見ると本当に役に立ちます。 [Rollup.js](https://rollupjs.org)を追加する価値はあると思いますか? –

+0

Webpackのようなツールでは、コードを分割してコードを分割してオンデマンドで読み込むことができ、単一のモノリシックファイルが生成される問題を緩和することができます。 https://webpack.github.io/docs/code-splitting.html – atconway

関連する問題