我想将我的JS脚本包含在捆绑包中,同时对它们进行版本控制,以避免在这些脚本被更改时浏览器缓存。
MVC 5 是否有一种"本机"方法来实现这一目标 ASP.NET?
我找到了一个名为 Cassette 的库,它正是这样做的(自动对 JS 进行版本控制,这是一件好事),但我想要一些(甚至)更简单的东西,而无需更改我的脚本配置......
以下方法不起作用:
var version = ConfigurationManager.AppSettings["cache"].ToString();
bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
"~/Scripts/framework.js" + version,
"~/Scripts/main.js"));
结果是浏览器未下载"框架.js"文件(可能找不到)。
MVC 将自动为发布版本添加版本参数(即,如果 debug="false" in web.config);请参阅此处的"捆绑缓存":http://www.asp.net/mvc/overview/performance/bundling-and-minification
您可以在调试版本中显式启用此功能(在同一文章中描述),但您的脚本将作为同一操作的一部分进行缩小;没有单独的方法可以执行此操作。