2011-07-22 6 views
3

私はバージョンJSとJS&CSSのバージョン管理

オプション1のようなCSSファイルができることを知っている:

myJavaScript.js V =#myVersionNumber#
myCSS.css V =#? myVersionNumber#

これにより、クライアントは条件付きGET要求を行い、最良のシナリオでは304応答を取得します。私は

myJavaScript#myVersionNumber#の.js
myCSS#myVersionNumber#の.css

:。。私は

オプション2のように異なるバージョン管理戦略によって、このHTTPリクエストを排除することができます正当な理由があるかどうか疑問に思っています(どちらのオプションも同じレベルの保守性を持っていると仮定します)。

ありがとうございます。

+0

多くのフレームワークなどは、クエリ文字列から情報を簡単に取得できるように設計されています。それ以外は私には何の利益も認識していません。基本的により普及した採用。 – m4tt1mus

答えて

7

私はあなたが実際にキャッシュを制御するほどバージョン管理していないと主張します。 2番目のアプローチでは、複数のファイルをソース管理システムに格納することを心配しています.1つのファイルを保存すると、履歴が蓄積され、管理が容易になります。 URLのパラメータを変更することで、新しいファイルを解放することができます。

+3

ソースコントロールは、対象に関する良い追加の視点です – rtpHarry

+0

私は、これに関するキャッシュコントロールに関連するあなたのコメントに同意します。私はオプション2がソースコントロール内に複数のファイルを持っている可能性があることを認識しています。 – zero7

0

最も単純なオプションmyJavascript-1.jsはありませんか?そして、ファイル名を変更するたびに読み込むファイル名とソースの両方に番号をつけてください。クエリ文字列は必要ありません。新しいバージョンをリリースすると、常にキャッシュが無効になります。

キャッシュされたHTMLページを持つクライアントがいくつかの異なるファイルに古いバージョンと新しいバージョンの混在バージョンを取得するのを避けるために古いバージョンを残しておく理由があることがあります。同時に(必要に応じて)あなたのサーバー上で。ここで

1

は、このコードはPHPであり、そしていくつかのより多くの注意が必要になることがあり、あなたのウェブサイトの.htaccessファイルでいくつかの変更、

Automatically Version Your CSS and JavaScript Files

...この問題に関して、あなたを助けるかもしれない記事ですそうしないと、サイトが故障する可能性があります。

関連する問題