如何在Bundle中编写javascript文件?

时间:2016-03-09 19:36:36

标签: javascript asp.net asp.net-mvc bundle

我希望将我的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”文件(可能找不到)。

1 个答案:

答案 0 :(得分:10)

MVC会自动为发布版本添加一个版本参数(例如,如果在web.config中调试=“false”);请参阅此处的“捆绑缓存”:http://www.asp.net/mvc/overview/performance/bundling-and-minification

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