2

我已经阅读了许多关于使用 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?

4

1 回答 1

2

好的,我已经找到了这个问题的答案。

我已经从我的代码中删除了这一行。

BundleTable.EnableOptimizations = true

现在,当在我的 web.config 中使用debug=false运行时,会启用捆绑并使用 Cdn。

使用 EnableOptimizations = false 将 debug 设置回debug=false的意外副作用(至少对我来说是出乎意料的)是捆绑也被忽略了。如果能够在调试模式下启用优化但禁用 CDN 请求,那就太好了。如果这是可能的,有人吗?

于 2013-07-05T18:38:52.767 回答