如何对bundle中的 javascript 文件进行版本控制



我想将我的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

您可以在调试版本中显式启用此功能(在同一文章中描述),但您的脚本将作为同一操作的一部分进行缩小;没有单独的方法可以执行此操作。

最新更新