2016-05-16 3 views
-4

webpackがバックエンドでモジュールの読み込みを気にする理由を知りたいと思っています。これが必要な理由はありますか? JSPMはバックエンドモジュールのロードも行いますか?なぜバックエンドでモジュールの読み込みを使用するのですか?

+0

「バックエンドの読み込み」という意味を明確にすることはできますか?あなたはおそらくモジュールバンドルを指していますか? – ebpa

+0

yes module bundling –

+0

「クライアントのJavaScriptコードを事前にバンドルするのはなぜですか?あなたの質問の公正な言い換えですか? – ebpa

答えて

0

最初の質問は、の行に沿っていると仮定します。なぜ、クライアントのJavaScriptコードを事前にバンドルするのですか?

モジュールのバンドルには多くの理由があります。数:

  1. シンプルなファイル集約:関連するコードをバンドルには、多くのタスクをより簡単に/より直感的になります。これらのファイルをバンドルした後、ファイルの大きなディレクトリツリーを展開する代わりに、単一のバンドルファイルにすることができます。
  2. パフォーマンスのロード:クライアント側で別々のファイルにある依存関係を個別に読み込むことは、歴史的に非常に遅かったです。各ファイルは個別に解析して評価する必要があり、使用するモジュールシステムによっては、依存関係が検出されて読み込まれるのを待つ間にかなりの遅延が発生する可能性があります。
  3. メディアタイプの抽象化:バンドル担当者は通常、JavaScript以外のコンテンツをバンドルする方法を許可しています。イメージやスタイルシートのようなアセットを含むことは便利で、アプリケーションを使用する部分の明示的/明確な依存関係を促します。
  4. ツリーシェイキング:モジュールとコード間の依存関係を分析することで、アプリケーションに必要なものを選択的に含めることができ、全体的なコードベースのサイズを縮小することができます。これは本質的にバンドリングの特徴ではありませんが、ビルド・ステップの概念があるので一般的に行われます。あなたの2番目の質問については

JSPMは、この機能を提供しません。これはコマンドラインでjspm bundleコマンドで実行できます。

0

最も簡単な理由はパフォーマンスです。ファイルを開いてファイルを閉じるのは、ファイル(ストリーム)の送信に要する時間よりも処理が遅いため、要求されたファイルをサーバーが送信できる時間が短いほど、ファイルのオープンとクローズの操作が少なくなります。したがって、javascript/webプロジェクトを構成するファイルの数を減らすことで、ブラウザがファイルを取得して終了し、エンドユーザー向けにファイルを処理し始めることができます。

Webプロジェクトでうまくいくビルドプロセスができることは、JSPMなどのツールですべてのJsファイルを単純に追加するだけでなく、cssファイルとhtmlファイルを1つのbundle.jsファイルにまとめてエンドユーザーエクスペリエンス。

関連する問題