2011-07-22 73 views
3

知道我能版本的js和css文件像JS和CSS版本

選項1:??

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

,這將使客戶端執行條件GET請求,最好的情況下獲得304響應。我可以消除不同的版本控制策略本http請求像

選項2:

myJavaScript#myVersionNumber#.js文件
myCSS#myVersionNumber#的.css

我。我想知道是否有什麼好的理由(假設兩個選項具有相同的可維護性),這將使我留在Option1中。

感謝您的幫助。

+0

許多框架和設計都可以很容易地從查詢字符串中檢索信息。除此之外,我沒有意識到任何好處。基本上更廣泛的採用。 – m4tt1mus

回答

7

我會爭辯說,你不是真的版本控制緩存。使用第二種方法時,我會擔心在源代碼管理系統中存儲多個文件,如果您存儲單個文件,它將累積歷史記錄並且可以更容易地管理。然後,您可以通過更改網址中的參數來釋放新文件。

+3

源代碼管理是一個很好的額外的角度對這個問題 – rtpHarry

+0

我同意你的意見,這與緩存控制有關。我知道如果沒有正確實施,選項2可能在源代碼管理中包含多個文件。 – zero7

0

是不是最簡單的選項myJavascript-1.js?而且,只要在文件名和源文件中每次修改文件時都加載該數字?不需要查詢字符串。當您發佈新版本時,緩存總是被擊敗。

有時有理由讓舊版本仍然可用,以避免使用緩存HTML頁面的客戶端在幾個不同文件中獲得新舊版本的混合版本,這允許新舊版本輕鬆存在於文件系統中在您的服務器上同時(如果需要)。

1

下面是一篇文章,可以幫助你對這個問題......

Automatically Version Your CSS and JavaScript Files

這段代碼是在PHP,並在您的網站的.htaccess文件進行一些修改,這可能需要一些更多的關注否則您的網站可能會崩潰。