我有 ASP.Net MVC 3 应用程序。我使用 YUICompressor.Net 在使用 MSBuild 的后期构建期间缩小 Javascript 和 Css 文件。
生成的缩小后的 javascript 文件是 JSMin.js 和 CssMin.css
我的母版页引用这些文件如下:
link rel="stylesheet"href="@Url.Content("~/Content/CssMin.css")"type="text/css">
脚本类型="text/javascript"src="@Url.Content("~/Scripts/JsMin.js")">
现在的问题是缩小版本被缓存在最终用户浏览器中,所以我们在 te javascript/css 中的新修复没有反射(reflect)在最终用户浏览器中,因为这些文件因为使用相同的文件名而被缓存。我正在寻找某种干净的过程,它将构建带有版本号的缩小的 javascript & Css 文件,例如 JsMin1.0.js & CssMin1.1.js 并自动更新以下引用
link rel="stylesheet"href="@Url.Content("~/Content/CssMin.css")"type="text/css">
脚本类型="text/javascript"src="@Url.Content("~/Scripts/JsMin.js")">
非常感谢您的帮助。谢谢。
最佳答案
您需要在 CDN 静态媒体资源 URL 中使用缓存破坏:
http://codebetter.com/karlseguin/2010/01/11/asp-net-performance-part-3-cache-busting/
您无法清除浏览器缓存。
关于Javascript 缩小缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8405306/