是否可以远程捆绑CDN上的资源?

时间:2015-08-25 18:19:56

标签: asp.net-mvc asp.net-mvc-5 bundle cdn system.web.optimization

我正在尝试将我的所有javascript和css(较少的文件等)移动到一个单独的网站,该网站将托管在我们将用作CDN的网站上。

但是我想利用MVC ScriptBundle和StyleBundle类绑定到BundleTransformer.Less。

刚开始我尝试了一个测试脚本包,如下所示:

Bundle mainScript = new ScriptBundle("~/bundles/scripts/test.js", @CDNUrl + "lib/jquery/2.1.4/jquery-2.1.4.js");
bundles.Add(mainScript);

这里的问题是,如果我处于调试模式或优化已关闭,则不会输出任何脚本,因为我没有包含任何内容。如果我对它进行优化,只需在脚本标记中删除cdn链接。

理想情况下,我不希望在网站中包含脚本和样式(我可以将虚拟目录映射到它们在cdn上的位置)。

我想要做的是在CDN上构建我的所有捆绑包,并通过

链接到它们
<script src="//cdn.etc.com/bunles/xyzSiteScripts.js"></script>

然而,最小化的链接生成如下:

<script src="/bundles/scripts/test2.js?v=SQINHU6JqPGF50s4ugWSC_sMpTAqiQhXWc8eDYzbyDg1"></script>

查询字符串上的v是缓存破坏者。我被认为如果我只是链接到他们,我将不得不手动更新所有我的链接与新的缓存破坏者每次我有机会。

有没有办法解决这个问题,我错过了?根据我的收集,如果我将捆绑移动到CDN本身,那么我将无法在我的剃刀模板中使用@Scripts或@Styles。

0 个答案:

没有答案