你应该捆绑和缩小 - jQuery和其他第三方库吗?

时间:2014-06-05 05:13:32

标签: asp.net-mvc-4 bundling-and-minification

使用ASP.NET的捆绑和缩小技术,我可以评估捆绑标准库的优缺点。

  • 反对捆绑的关键点之一是我们无法指向这些公共库的CDN。
  • 如果我们的应用程序的JavaScript发生了变化,我们也会强制客户端下载所有捆绑的第三方库。

有什么方法可以避免这些问题吗?

1 个答案:

答案 0 :(得分:3)

捆绑并不一定意味着您将所有 JS文件转储到一个捆绑包中(因此一个HTTP请求)。如果情况确实如此,那么反对它的论据都是有效的。

您可以(并且应该)将您的捆绑包分开以满足他们的需求,这通常包括避免您提出的问题。

例如:

// third-party
var librariesJS = new ScriptBundle("~/bundles/JsLibs")
                .Include("~/Scripts/Libs/jquery-2.0.3.js")
                .Include("~/Scripts/Libs/jquery.validate.js");

// mine
var appJS = new ScriptBundle("~/bundles/AppJS")
                    .Include("~/Scripts/_Globals.js")
                    .Include("~/Scripts/App.js");

// use CDN for third party code
librariesJS.CdnPath = "{CDN_URL}";