我已经阅读了许多关于使用CDN来托管jQuery的MVC博客。他们都说 “在上面的代码中,将在发布模式下从CDN请求jQuery,并且将在调试模式下本地获取jQuery的调试版本。” (例如http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification)
然而,当我写这段代码时:
// Enable CDN support
bundles.UseCdn = true;
//add link to jquery on the CDN
const string jqueryCdnPath = "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js";
bundles.Add(new ScriptBundle("~/bundles/jquery",jqueryCdnPath)
.Include("~/Scripts/jquery-{version}.js"));
...并调试我的MVC应用程序,调用google api(不是我本地副本,因为我在调试中期待。
我的构建绝对是调试,在我的Web.config中,我有这个:
<compilation debug="true" targetFramework="4.0">
有谁知道为什么仍在通过谷歌CDN获取jquery的电话?
答案 0 :(得分:2)
好的,我找到了答案。
我已从我的代码中删除了这一行。
BundleTable.EnableOptimizations = true
现在,当我在web.config中使用 debug = false 运行时,启用了Bundling并使用了Cdn。
使用EnableOptimizations = false将调试设置回 debug = false 时出现意外的副作用(至少让我意外)是捆绑也被忽略。能够在调试模式下启用优化但禁用CDN请求会很好。如果有可能,有人可以吗?