1

以下哪种情况在客户端 (JavaScript) 库引用和加载方面最强。

请注意,我假设 Web 解决方案设计良好,因此组件被很好地封装

另外,为了清楚起见,我正在谈论的母版页可以是用户控件或任何包含所有 库引用并在站点加载时加载的内容,而不管当前站点的内容如何

1 - 在母版页中包含所有自定义(例如第 3 方)库的引用(链接 href) 。

  • 可以说这很容易维护,因为所有引用都在一个地方。

  • 还可以说,执行库升级很容易,因此您无需在引用库的解决方案中寻找更新它的引用。

2 - 在其特定的用户控件中包含对库的引用

  • 这不应该提高性能,因为网站只在需要时加载库。例如,可以参考适用于用户控件内的地图的 JavaScript 库,该库处理地图,与加载地图库相比,即使当前视图上没有地图。

  • 这很好地封装了组件。例如,尝试修复地图组件中的错误的开发人员将在打开地图用户控件时看到它引用的所有库。这不再需要浏览母版页并查看使用了哪些库。

4

1 回答 1

1

我认为这不是正确的思考方式。

不加载所有库的唯一原因是性能。您给出的调试原因太小而无法考虑。

您可以通过许多不同的方式提高性能。到目前为止,最简单、最直接、最容易实现的是将所有 JavaScript 压缩到一个文件中。您还可以使用像 Google 的 Closure Compiler 或 Yahoo YUI Compressor 这样的编译器来获得更小的文件大小和更快的执行速度。

如果此时您仍然存在性能问题(可归因于网络延迟),那么可能会考虑延迟加载您的库。

这并不意味着您应该放弃依赖注入的准则。任何好的框架都会为您提供依赖注入的机制。这应该使得稍后切换到解决方案 2 变得相当简单。

于 2013-10-28T10:18:20.847 回答