【发布时间】:2012-12-03 11:51:15
【问题描述】:
我为谷歌地图使用了一个 jQuery 库,它依赖于首先加载的谷歌脚本。我希望能够将两者都包含在捆绑包中:
bundles.Add(new ScriptBundle("myfoobundle").Include(
"http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places",
"~/scripts/jquery.fooplugin-{version}.js"
));
这似乎不起作用(引发抱怨第一个字符串的异常)。有人可能会说这不应该起作用,因为绝对 URL 并不意味着要缩小/捆绑。
但是当前的方法很麻烦,因为我需要确保依赖关系是正确的,而且这发生在不同的地方(一半在捆绑代码中,另一半在视图中)。
如果有上述的 1 步解决方案,那就太好了。在这方面我有什么选择吗?
更新:
解决有关使用 CDN 作为解决方案的 cmets:如果我指定 bundles.UseCdn = true 它没有效果,我仍然得到异常 The URL 'http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places' is not valid. Only application relative URLs (~/url) are allowed。另外我不确定这样做的意义是什么,因为我已经使用了对 jQuery 等的 CDN 支持,所以不确定这会如何与我的用例冲突。
【问题讨论】:
-
第一个字符串的异常说明了什么?如果您将
UseCdn设置为true,您的代码应该可以工作。 -
@rob 它不适用于启用
UseCdn -
asp 包是蓝表
-
我注意到的行为是 bundles.UseCdn = true 并且您在 system.web 下的编译方法必须为 false (
)。然后将CDN路径输出到页面。
标签: asp.net-mvc asp.net-mvc-4 asp.net-optimization bundling-and-minification