我现在使用MVC.Net捆绑和缩小。当我加载我的页面呈现一个包(对于我的例子我使用的是JQuery的一个),浏览器请求CDN和后备,这向我的Web服务器发出2个请求。预计服务器每分钟可以获得约2000次点击,因此如果我能将脚本请求减少一半,那将非常棒。所以我的问题是:为什么浏览器会请求回退,我该如何阻止呢?
这是我的BundleConfig
BundleTable.EnableOptimizations = true;
bundles.UseCdn = true;
var bundle = new ScriptBundle("~/bundles/JQueryCore", "//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js")
{
CdnFallbackExpression = "window.jquery"
};
bundle.Include("~/Scripts/JQuery/jquery-2.1.1.js");
bundles.Add(bundle);
在我的.cshtml
我调用我的脚本@Scripts.Render("~/bundles/JQueryCore")
生成的html如下所示:
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js"></script>
<script>(window.jquery)||document.write('<script src="/bundles/JQueryCore"><\/script>');</script>
答案 0 :(得分:3)
CdnFallbackExpression
需要匹配您正在测试的库; window.jquery
不在我的信件中。试一试:
jqueryBundle.CdnFallbackExpression = "window.jQuery"; // note 'Q'.
这将修复内联测试(因此阻止调用本地脚本)。