web-dev-qa-db-ja.com

1つの大きなjavascriptファイルまたは複数の小さなファイルですか?

さて、jqueryバックボーンと他のいくつかのjavascriptライブラリを使用している妥当なサイズのプロジェクトがあります。 JavaScriptライブラリ用とカスタムコード用に1つのファイルを用意する必要があるのか​​と思っていました。または、個別のjavascriptファイルの束。

44
Jason Silberman

一般に、HTTP要求を少なくすることをお勧めします。ですから、ファイル数をできるだけ減らす必要があります合理的

私の個人的な好みは、JavaScriptファイルの3つの「グループ」を持つことです。

  1. コアファイル。ほとんどすべての場所で使用される関数やその他の便利なページ初期化機能が含まれています。
  2. モジュールファイル。いくつかの場所で使用されているが、どこでも使用されていないコードが含まれています。ドロップインして追加機能を提供できます。たとえば、日付入力を処理するスクリプトがある場合、それをモジュールファイルとして含め、日付入力のあるページに追加できます。
  3. ページ固有のファイル。これらのファイルには、1か所でのみ使用されるコードが含まれています。ページ自体の一部としてではなく個別のファイルとして追加される唯一の理由は、キャッシュの理由です。
79

1つの大きなファイル。本番稼働時にコードを縮小し、サイズが大きい場合は圧縮する必要があります。ページのパフォーマンスを改善するために、サーバーへのリクエストをできるだけ少なくしたい

12
Glenn Ferrie

1つの大きなファイルまたは2つのファイル:1つの小さなファイルと1つの大きなファイル。明確にするために、開発中は個別のファイルを用意することをお勧めします。おそらく requireJS のようなものを使用します。しかし、デプロイするときは、HTTPの待ち時間とリクエストを減らすために、すべてを1つのファイルに圧縮するのが適切です。

2つのファイルについて言及しました。場合によっては、「ブートストラップ」操作と「ビッグファイル」を処理する小さなファイルを1つ持つとよい場合があります-特にreally大きい-ダウンロードされます。ユーザーはまだファイルをキャッシュしていないため、これは特に最初のアクセスに役立ちます。

9
ZER0

それを分離するのが最善ですが、熱心にならないでください。そうすれば、後でライブラリコードを再利用できます。また、誰もが個別のファイルで作業することを好みます。

とはいえ、すべてを簡単にキャッシュできるように、ユーザーに1つの圧縮ファイルを提供することも最適です。これにより、ページ要求の数も削減されます。 Rails 3は、たとえば、アセットパイプラインでこれを自動的に行います。お気に入りのコンプレッサーを実行するスクリプトを作成できます。ただし、コードの可読性を犠牲にしてはいけません。それも食べて!

8
bchurchill

示唆されているように、小さなファイルを扱うのは良いことですが、実動コードの場合、ビルドプロセスには最適化を含める必要があります。その最適化の一部は、ブラウザによる呼び出しを減らすために単一のjsファイルに結合することにより、ファイルサイズとネットワークトラフィックの最適化を最小化することです。

0
Gerard Sexton

原則として、サーバーへのリクエストの数を減らすために、できるだけ少ない数で行きます。

0
iGanja

アプリケーションのサイズに依存します。ただし、通常は、保守性と再利用性を高めるために、JavaScriptファイルを適切にグループ化することをお勧めします。

RequireJS のようなJSモジュールローダーを使用してJavaScriptをロードできます。少なくともファイルは整理されます。サーバーのパフォーマンスを向上させるには、これらのファイルをユーザーのブラウザーにキャッシュして、一度だけダウンロードするようにします。

0
Amy