假设我们的应用程序处于离线状态,即我们无法使用第三方CDN,因此我们正在创建自己的CDN.
我想在单独的(Parent)Web应用程序中托管所有供应商脚本,然后将它们包含在其他几个MVC应用程序的捆绑包中.
我想在单独的(Parent)Web应用程序中托管所有供应商脚本,然后将它们包含在其他几个MVC应用程序的捆绑包中.
例如
> http://localhost/parentWeb/Scripts/jquery.js
> http://localhost/parentWeb/Scripts/jquery-ui.js
> http://localhost/parentWeb/Scripts/globalize.js
我想包括在ASP.NET MVC App网站,位于:http:// localhost / parentWeb / childWeb
就是这样做:
bundles.UseCdn = true; bundles.Add( new ScriptBundle( "~/bundles/VendorScripts","http://localhost/parentWeb/Scripts/jquery.js","http://localhost/parentWeb/Scripts/jquery-ui.js","http://localhost/parentWeb/Scripts/globalize.js"));
…当然当然不可能.有没有很好的解决方法?
解决方法
您不能捆绑外部资源.如果你想到这一点,那么这是有道理的.这将需要捆绑器实际下载资源并将其保存到文件系统,然后才能使用它,当然如果外部资源无法达到,则会以某种方式异步执行.而且,在每个页面加载时都必须这样做,因为它不能先检索lastmod(因此知道它是否真的需要重新分组).
如果您使用CDN资源,则捆绑程序仅将该URL直接打印到该页面;它没有做任何修改.即使这样,它只允许您创建一个仅一个URL的“捆绑”,因为1)捆绑多个CDN资源是没有意义的,因为这将破坏CDN的目的,2)该捆绑仅存在于此如果CDN资源不可用,则提供后备.否则,您只需将其硬编码到页面,而不用担心设置一个捆绑包,那么您也将被送达.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。