Javascript js&;css版本控制

Javascript js&;css版本控制,javascript,asp.net,css,caching,versioning,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 我想知道是否有什么好的理由(假设两个选项具有相同的可维护性级别

知道我可以像这样对js和css文件进行版本设置

选项1:

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

,这将使客户机执行条件GET请求,而最佳情况下得到304响应。我可以通过不同的版本控制策略消除此http请求,如

选项2:

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

我想知道是否有什么好的理由(假设两个选项具有相同的可维护性级别)让我选择选项1。


感谢您的帮助。

我认为您的版本控制不如控制缓存。对于第二种方法,我会担心在源代码管理系统中存储多个文件,如果存储一个文件,它将积累一个历史记录,并且可以更容易地进行管理。然后,您可以通过更改url中的参数来释放新文件。

最简单的选项不是myJavascript-1.js吗?而且,只要在文件名和每次修改文件时加载它的源文件中增加这个数字就行了?不需要查询字符串。发布新版本时,缓存总是失败


有时有理由保留旧版本,以避免具有缓存HTML页面的客户端在多个不同的文件中获得新旧版本的混合,这使得新旧版本可以同时轻松存在于服务器上的文件系统中(如果需要).

这里有一篇文章可以帮助您解决这个问题


这段代码是用php编写的,在你网站的.htaccess文件中做了一些修改,这可能需要更多的注意,否则你的网站可能会崩溃。

源代码管理是一个很好的补充视角。我同意你关于缓存控制的评论。我知道如果没有正确实现,选项2在源代码管理中可能有多个文件。许多框架和类似的框架都是为了能够轻松地从查询字符串中检索信息而设计的。除此之外,我不知道有什么好处。基本上更广泛的采用。