52

Webページのパフォーマンスを向上させるために、CDN.jsを使用してWebページにファイルを提供することをお勧めします。それは理にかなっている。

.jsまた、ロード時にサーバーに対して行われるリクエストの数を減らすために、ファイルをバンドルすることをお勧めします。

したがって、座って、CDNを使用するかバンドル.jsファイルを使用するかを決定する必要があります。

長所と短所は何ですか?どちらがより理にかなっていますか?

4

4 に答える 4

14

なぜそれらをバンドルして配置できないのですか?CDNですか?それはどちらか一方の決定ではないはずですか?

どちらかを選択する必要がある場合は、含めるファイルの数によって異なります.jsファイルの数が少ない場合は、 CDNの方が速いと思いますが、ファイルの数が多い場合は、ファイルのバンドルの方.js確実に速くなります。切り替えが行われる場所は、実験するためのものです。

于 2011-09-16T14:05:51.987 に答える
12

私の答え:両方。それらをバンドルしてCDNに配置します。

これを行うことの欠点は?依存します。ビルドプロセスはどのように見えますか?バンドルとミニファイを簡単に自動化できますか?Yahoo YUIやGoogleClosureなどを使用していますか?

また、GUIに依存するjQueryが多数ある場合は、要素/効果/ cssが絶えず変化するため、時間のかかる摩擦が発生する可能性があります。

最小化の癖がある可能性があるため、テストも重要です。

結論:1つのファイルに安全にバンドルされた5つのJavaScriptファイル===4つ少ないリクエスト。

単純な古いHTMLと1つの外部JavaScript参照===2つのサーバーへのリクエストを含むページ。ただし、サーバーへのCDN === 1リクエストで、単純な古いHTMLと1つの外部JavaScript参照を含むページ。

現在、Googleクロージャーツールを使用しています。Google Closure Inspectorは、次のことを支援します。

クロージャコンパイラは、元のJavaScriptコードを変更し、元のコードよりも小さく効率的ですが、読み取りとデバッグが難しいコードを生成します。Closure Inspectorは、コンパイルされたコードに対応する元のソースコードの行を識別するソースマッピング機能を提供することで役立ちます。

于 2011-09-16T14:14:58.147 に答える
1

他の人がすでに述べたように、答えは可能であれば両方です。バンドル(および縮小)は、ページの重みを減らすため、ユーザーにメリットをもたらします。CDNは、作業をオフロードするため、サーバーにメリットをもたらします。一般的に言って、パフォーマンスの問題を観察した場合、または他に何もする必要がない場合を除いて、最適化する必要はありません。

于 2011-09-16T14:46:34.093 に答える
1

あなたが考える必要があるいくつかのことがあります...

ページの読み込みの早い段階でJSをどれだけ読み込む必要がありますか?また、後でどれだけ遅らせることができますか?

JSの読み込みを遅らせる(たとえば、ページの下部に配置する)か、Google Analyticsのように非同期で読み込むことができる場合は、JSのダウンロードにかかるUIスレッドのブロックにかかる時間を最小限に抑えることができます。

JSの負荷をどのように分割できるかを理解した後、さまざまなJSファイルのマージ/ミニファイを処理します。HTTPリクエストを削減することがパフォーマンスを向上させるための鍵となります。

次に、CDNへの移行を検討し、CDNが圧縮されたJSコンテンツを提供できることを確認し、ヘッダーを「永久にキャッシュ」されるように設定できるようにします(永久にキャッシュする場合は、ファイルをバージョン管理する必要があります)。CDNはレイテンシーを削減するのに役立ちますが、Cookieを使用しないことでサイズも削減します

考慮したい他のことは、静的コンテンツ用に別のドメインを設定し、それをサーバーにポイントして整理し、価値があると思われる場合はCDNに切り替えることです。

アンディ

于 2011-09-19T19:47:43.320 に答える