如何在Asp.Net中将脚本管理器加载的JS与CDN捆绑在一起

时间:2018-03-22 08:19:29

标签: javascript asp.net scriptmanager asp.net-bundling

我在asp.net中有一个应用程序,我在母版页中使用了一个脚本管理器。我想从CDN加载与脚本管理器相关的所有脚本,因此我在脚本管理器中放置了EnableCDN =“true”。

<asp:ScriptManager runat="server" EnableCdn="true" />

我注意到所有脚本都是单独加载的,这会增加http请求,我想将所有脚本捆绑成1个脚本。

有没有人实现过将从CDN加载的脚本捆绑到1 js文件而不是在asp.net(非MVC)中分离?

下面是单独加载的所有js的快照 Below is the snap of all js that is getting loaded separately

1 个答案:

答案 0 :(得分:0)

只允许在ScriptBundle中包含应用程序相对URL(〜/ url),仅在顶级捆绑级别支持在捆绑中使用CDN。

您可以在自己构建完CDB后将整个捆绑包上传到CDN,我们就像https://ajax.aspnetcdn.com/ajax/4.6/1/MsAjaxJs.js

bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs", "https://ajax.aspnetcdn.com/ajax/4.6/1/MsAjaxJs.js").Include(
    "~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
    "~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js",
    "~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js",
    "~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js"));

此外,在false文件中将编译设置为web.config时,将启用优化