9

簡単な質問ですが、短い答えがあるかどうかはわかりません。

説明
私はここにウェブサイトにロードされるJavaScriptのファイルを持っていますそれらについてのいくつかのメモがあります:

  • それらはすべて同じドメインからのものです(クロスドメインの読み込みは必要ありません)
  • それらはウェブサイトの周りで同一です。
  • jQueryのようないくつかのファイルと、他の5つのプラグインに加えて、それらに基づく独自のアプリケーションスクリプトがあります。
  • それらのサイズはすべて圧縮=224KBです(すべてのファイルを1つのファイルにまとめてから、YUICompressor2を使用して一度に圧縮します

問題
224KBを1つのファイルに入れるのは理想的ではないと聞きました。そして、それぞれ最大44KBの複数のファイルに分割する必要があります..これを聞いたときは思い出せません。さらに多くのファイルに分割することが効果的かどうかはわかりませんが、224KBには長い時間がかかるのは事実です。初めてロードする場合は、もちろんWebサイトに画像とCSSがロードされていることを考慮してください。

JavaScriptファイルを早期にロードする必要性を最小限に抑え、それを一番下に配置しました。これまでのところ、これは良い進歩ですが、時間を稼ぐためにHTMLと非同期でロードする必要があります。ソースと決定は次のとおりです。

はい、もしくは、いいえ?
1つの圧縮された大きなファイルに保存しますか?または、それらを多くの圧縮ファイルに分割して非同期でロードします(依存関係に関連する問題の処理を認識しています)。

4

4 に答える 4

6

それは、サイトが何であるか、そしてそれにとって最初のロード時間がどれほど重要であるかに依存します。

それにもかかわらず、私はおそらくJQueryなどをパブリックCDNからロードします。大きな利点の1つは、サイトにアクセスしたことがない場合でも、すでにキャッシュされている可能性があることです。

http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/

カプチーノチームは、1つのファイルの大きな支持者です-彼らはjavascriptフレームワークを作ります。ツールを使用して作成されたアプリには、ある程度の読み込み時間が必要です。

http://cappuccino.org/discuss/2009/11/11/just-one-file-with-cappuccino-0-8/

于 2010-10-11T16:47:12.237 に答える
4

JQueryをロードし、パブリックCDNから関連することの別の利点は、宛先ごとのリクエストの増加です。クライアントはドメインごとに2つのリクエストに制限されていると思います。そのため、Googleからjquery、jqueryからプラグイン、および独自のドメインからカスタムアプリコードを読み込むことで、ブラウザは最初の2つを待ってから、これらを同時に実行できます。 3番目のリクエストを発行します。

これにより、1つの大きなファイルよりもパフォーマンスがさらに向上すると思います。その1つのファイルを2つに分割しただけでも、ブラウザからの2つの同時リクエストで取得できる可能性があり、ロード時間が改善される可能性があります。

于 2010-10-11T16:57:19.217 に答える
3

Webアプリを高速化するために行ったことは次のとおりです。

メインのJSファイルとCSSファイルは圧縮され、HTMLマークアップとインラインで配置されます。
HTMLの空白は削除され、画像はdata:image/pngシェルスクリプトによって変換されます。

サイズは約400kbですが、キャッシュおよびgzip圧縮されています。
ウェブアプリのモバイルバージョンは同じですが、約250kbです。これは、実行可能ファイルのように、アプリ全体を1回のhttp呼び出しで実行する準備ができていることを意味します。

次に、2番目のhttp呼び出しでデータ(JSON)を取得し、PUREを使用して、ページ内の既存のマークアップをテンプレートとして使用してHTMLでレンダリングします。

アプリはモジュールに分割されており、一般的なモジュールのみがこの方法でプリロードされます。
他はユーザーからの要求に応じて来ます。

于 2010-10-11T21:09:53.873 に答える
2

この質問に対する正確な答えはありません。それはあなたがそれらのファイルをいつどのように利用するかにかなり依存します。

通常、Webアプリで一般的に必要とされるJSファイルのみをページロードでダウンロードする必要があります。モジュール固有またはページ固有のJSファイルは、メインのJSダウンロードで圧縮しないでください。理想的には、オンデマンドでロードされます。

また、この質問は、初めてのユーザーのユーザーエクスペリエンスを懸念している場合にのみ有効です。JSファイルは、他のすべての訪問に対してとにかくキャッシュされます。

于 2010-10-11T16:46:35.030 に答える