js& css版本控制

时间:2011-07-22 20:27:49

标签: javascript asp.net css caching versioning

知道我可以修改像

这样的js和css文件

选项1:

  

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

,这将使客户端执行条件GET请求,最佳案例场景获得304响应。我可以通过不同的版本控制策略来消除此http请求,例如

选项2:

  

myJavaScript。#myVersionNumber#的.js
  myCSS。#myVersionNumber#的CSS

我想知道是否有任何好的理由(假设两个选项都具有相同的可维护性),这将使我继续使用Option1。

谢谢你的帮助。

3 个答案:

答案 0 :(得分:7)

我认为你的版本控制并不像控制缓存一样多。使用第二种方法,我会担心在源控制系统中存储多个文件,如果您存储单个文件,它将累积历史记录并且可以更轻松地进行管理。然后,您可以通过更改网址中的参数来发布新文件。

答案 1 :(得分:1)

以下是一篇可以帮助您解决此问题的文章......

Automatically Version Your CSS and JavaScript Files

此代码在php中,以及您网站的.htaccess文件中的一些修改,可能需要更多关注,否则您的网站可能会崩溃。

答案 2 :(得分:0)

myJavascript-1.js不是最简单的选择吗?并且,只要在每次修改文件时加载文件名和源代码中的那个数字?不需要查询字符串。当您发布新版本时,缓存总是失败。

有时会有理由让旧版本仍然可用,以避免带有缓存HTML页面的客户端在多个不同文件中混合使用新旧版本,这样可以在文件系统中轻松存在新旧版本您的服务器同时(如果需要)。