私のWebサイトでは、jQuery、jQuery UI、prefixfree、いくつかのjQueryプラグイン、および独自のJavaScriptコードなど、約10個のサードパーティのJavaScriptライブラリを使用しています。現在、Google CDNやcloudflareなどのCDNから外部ライブラリを取得しています。私はより良いアプローチが何であるか疑問に思っていました:
説明されている限り、意見を歓迎します。ありがとう:)
CDNの価値は、ユーザーがそのCDNから同じファイルを呼び出す別のサイトを既に訪問している可能性にあり、ファイルのサイズに応じてますます貴重になります。これが事実である可能性は、要求されているファイルの遍在性とCDNの人気によって増加します。
これを念頭に置いて、人気のあるCDNから比較的大きく人気のあるファイルを取り出すことは、理にかなっています。 jQuery、および程度は低いがjQuery UIはこの法案に適合します。
一方、ファイルを連結することは、あまり変更されない可能性のある小さなファイルには意味があります。一般的に使用されるプラグインはこの法案に適合しますが、アプリケーション固有のコアコードはおそらく適合しません。それを他のすべてのファイルと再度連結すると、ユーザーにすべてをすべて再度ダウンロードさせる必要があります。
HTML5ボイラープレート は、このための一般的なソリューションを提供する上でかなり良い仕事をしています:
plugins.js
ファイルに連結されます。これは、ユーザーが最初にアクセスするときに遠い有効期限ヘッダーでキャッシュされ、後続のアクセスでキャッシュからロードされます。main.js
に入り、アプリケーションロジックが週ごとまたは月ごとに変更される可能性があるという事実を説明するために、より近い有効期限ヘッダーを使用します。これにより、ユーザーが2週間後にバグを修正したり、新しい機能を導入したりした場合、上記のすべてのコンテンツをキャッシュから取り込むことができますが、これは新たに読み込まれます。他の主要なライブラリについては、それらを個別に確認し、jQueryのリードに従うか、独自のサーバーから個別にロードするか、連結するかを自問する必要があります。これらの決定にどのように取り組むことができるかの例:
plugins.js
。これにより、Bootstrapコアのすべてをユーザーに強制的にダウンロードさせることなく、Bootstrap拡張機能でplugins.js
を常に更新できます。しかし、必須ではありません-あなたの走行距離は異なる場合があります。