JS依赖项应该打包在捆绑包中,还是通过CDN加载?

时间:2018-02-15 16:44:53

标签: webpack dependencies cdn node-modules systemjs

我一直认为这个问题的答案是应该通过CDN加载常见的依赖关系。这种方式常见的JS库缓存在浏览器中,加载速度更快。但是,许多图书馆在线,例如React和Angular,以及许多包装系统,例如Webpack和SystemJS似乎是为了在同一个包中的node_modules文件夹中打包JS依赖项,因此生产中的网站最终会加载一个包含所有内容的单个包。

所以我的问题是,加载依赖项的首选方法是什么?捆绑在同一个JS文件中?或者通过CDN?

1 个答案:

答案 0 :(得分:2)

有一些论点:

  1. 使用CDN时,浏览器会为CDN主机的DNS解析花费额外的时间。
  2. 在构建应用时,您可以使用树摇动来删除未使用的代码。
  3. 如果您的网站具有安全价值,则使用CDN是不明智的。
  4. 您无法保证,CDN服务器将永远存在。