. 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}";