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



. NET的捆绑和最小化技术,我正在评估捆绑标准库的利弊。

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

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

捆绑并不一定意味着你把所有 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}";

相关内容

最新更新