我目前正在测试一个网站,随着开发的进行,并且几乎每次客户端脚本更新时,我都需要清除浏览器缓存以获得新功能客户端由于浏览器下载了.js文件的新鲜compy。客户端脚本缓存在ASP.NET IIS应用程序
如果在生产中推出新版本的脚本,该怎么办?如何在客户端浏览器上传到服务器后立即获取它?
我正在使用ASP.NET MVC 4站点。
我目前正在测试一个网站,随着开发的进行,并且几乎每次客户端脚本更新时,我都需要清除浏览器缓存以获得新功能客户端由于浏览器下载了.js文件的新鲜compy。客户端脚本缓存在ASP.NET IIS应用程序
如果在生产中推出新版本的脚本,该怎么办?如何在客户端浏览器上传到服务器后立即获取它?
我正在使用ASP.NET MVC 4站点。
文件重命名为创建版本:
所以
<script src="myscript.js"></script>
成为
<script src="myscript-9-5-2012.js"></script>
而且每https://developers.google.com/speed/docs/best-practices/caching#LeverageProxyCaching
它不建议使用查询字符串的版本(即myscript.js?v=1.1.0
)因为具体是
大多数代理服务器,最显着的是Squid通过版本3.0,不缓存资源的“?”在他们的网址...
最简单的方式将增加的版本号的脚本文件(比如script_1.6.js等)
最好的办法来阻止脚本从缓存添加每行结尾的随机查询字符串值。例如
<script src="/path-to-your-script/script.js?v=0b1"></script>
这是极具发展为脚本永远不会缓存,虽然在生产中你真正想要的浏览器缓存脚本来加快速度。
所以对于生产,你可能会想要介绍一些版本,如jquery,例如,jquery-1.8.0.js