Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack JS依赖项应该打包在捆绑包中,还是通过CDN加载?_Webpack_Dependencies_Cdn_Node Modules_Systemjs - Fatal编程技术网

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

Webpack JS依赖项应该打包在捆绑包中,还是通过CDN加载?,webpack,dependencies,cdn,node-modules,systemjs,Webpack,Dependencies,Cdn,Node Modules,Systemjs,对于这个问题,我一直假设的答案是公共依赖项应该通过CDN加载。通过这种方式,常见的JS库被缓存在浏览器中,加载速度更快。然而,许多在线库,例如React和Angular,以及许多打包系统,例如Webpack和SystemJS,似乎都是为了将JS依赖项打包到同一个捆绑包中的node\u modules文件夹中,因此您的网站在生产过程中最终加载了一个包含所有内容的捆绑包 所以我的问题是,加载依赖项的首选方式是什么?捆绑在同一个JS文件中?或者通过CDN?有一些参数: 使用CDN时,浏览器会花费额外的

对于这个问题,我一直假设的答案是公共依赖项应该通过CDN加载。通过这种方式,常见的JS库被缓存在浏览器中,加载速度更快。然而,许多在线库,例如React和Angular,以及许多打包系统,例如Webpack和SystemJS,似乎都是为了将JS依赖项打包到同一个捆绑包中的
node\u modules
文件夹中,因此您的网站在生产过程中最终加载了一个包含所有内容的捆绑包


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

有一些参数:

  • 使用CDN时,浏览器会花费额外的时间来解析CDN主机
  • 当你们构建应用程序时,你们可以使用树摇动来删除未使用的代码
  • 如果您的站点具有安全价值,那么使用CDN是个坏主意
  • 您不能保证CDN服务器将永远有效