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
Web 虽然CDN可用,但是否有必要对资源进行网页打包?_Web_Webpack_Server - Fatal编程技术网

Web 虽然CDN可用,但是否有必要对资源进行网页打包?

Web 虽然CDN可用,但是否有必要对资源进行网页打包?,web,webpack,server,Web,Webpack,Server,我是webpack新手,最近我发现将我的Jquery和bootstrap资源打包到bundle.js中要比Jquery和bootstrap CDN加载方法慢得多 虽然webpack使我的Jquery或Bootstrap资源更小,并增加了我的web加载时间,但在我的情况下使用Jquery或Bootstrap CDN会更快 我想也许我的Linux服务器没有很好的性能 要从我自己的普通服务器加载资源,使用CDN从公共更好的服务器加载会更好,如果你没有一个好的web服务器,对吗?是否应该捆绑jquery

我是webpack新手,最近我发现将我的Jquery和bootstrap资源打包到bundle.js中要比Jquery和bootstrap CDN加载方法慢得多

虽然webpack使我的Jquery或Bootstrap资源更小,并增加了我的web加载时间,但在我的情况下使用Jquery或Bootstrap CDN会更快

我想也许我的Linux服务器没有很好的性能


要从我自己的普通服务器加载资源,使用CDN从公共更好的服务器加载会更好,如果你没有一个好的web服务器,对吗?

是否应该捆绑jquery、bootstrap等常用库将很大程度上取决于以下因素可能不是一个完整的列表:

从技术上讲,以下两个因素是关键,但可能不是一个完整的列表:

浏览器缓存:浏览器倾向于缓存站点使用的文件,以便在后续使用中站点性能更好。尽管这取决于如何在JS文件请求缓存控制、无缓存、Etag、Expires、Pragma等上设置HTTP头,但大多数站点都允许这种缓存,以提高性能

库大小:文件越大,下载、加载、解释和执行所需的时间越长;记住JavaScript是一种解释语言

考虑到这些因素,以下两种方法在我脑海中出现的范围很广,但并不全面:

库和CDN的流行性:当用户浏览各种不同的站点时,浏览器可能已经缓存了来自流行CDN的流行库。CDN上的库也在全球范围内大量缓存。这将大大提高您的站点性能

树抖动:如果在将库包含到bundle中时执行树抖动,则可以大大缩短加载时间,因为您只在真正使用的库上绑定这些函数。如果不使用树震动,整个库可能会作为捆绑包的一部分或单独加载。但是,这只有在绑定库时才可能实现。在我看来,当我的应用程序很小并且只使用库中的几个函数时,这更有用

我的解释可能不够完美和全面,但您可能会理解,这在很大程度上取决于您使用的库,以及在应用程序中如何使用它,等等


希望这有帮助

是的,根据你说的,我应该选择CDN而不是捆绑在我自己的服务器上!伟大的灵感!这就解决了您的问题,您可以投票并标记为答案!: