如何对 Bundle 中的 javascript 个文件进行版本控制?

How to version javascript files in a Bundle?

我想将我的 JS 脚本包含在 Bundle 中,同时 version 它们以避免浏览器缓存,如果这些脚本有已更改。

是否有 ASP.NET MVC 5 的“native”方式来完成此任务?

我找到了一个名为 Cassette 的库,它正是这样做的(自动对 JS 进行版本控制,这是一件好事),但我想要一些(甚至)更简单的东西,而不需要大量更改我的脚本配置。 ..

以下无效:

 var version = ConfigurationManager.AppSettings["cache"].ToString();
 bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
     "~/Scripts/framework.js" + version,
     "~/Scripts/main.js"));

结果是"framework.js"文件没有被浏览器下载(可能没有找到)

MVC 将自动为发布构建添加版本参数(即如果 web.config 中的 debug="false");在此处查看 "Bundle Caching":http://www.asp.net/mvc/overview/performance/bundling-and-minification

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