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