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