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
Webpack 捆绑如何提高性能?_Webpack_Bundle_Browserify - Fatal编程技术网

Webpack 捆绑如何提高性能?

Webpack 捆绑如何提高性能?,webpack,bundle,browserify,Webpack,Bundle,Browserify,我知道绑定允许从服务器中提取较少的依赖项文件。但是,如果一个绑定的依赖项文件的文件大小与绑定的文件的大小相同。为什么会更快 我读过关于捆绑包拆分的概念,但是我们不需要在主html文件(我理解为用户第一次登录的页面)中指定捆绑包吗 (如果这个问题措辞不恰当,我很抱歉。我对整个捆绑概念非常困惑,不知道如何使问题更具体。)如果您的javascript应用程序只有一个版本,那么即使在加载第一页时,也会加载所有不必要的代码。我们可以利用js提供的异步功能,并按需加载块(通过代码拆分生成的模块)。 假设我的

我知道绑定允许从服务器中提取较少的依赖项文件。但是,如果一个绑定的依赖项文件的文件大小与绑定的文件的大小相同。为什么会更快

我读过关于捆绑包拆分的概念,但是我们不需要在主html文件(我理解为用户第一次登录的页面)中指定捆绑包吗


(如果这个问题措辞不恰当,我很抱歉。我对整个捆绑概念非常困惑,不知道如何使问题更具体。)

如果您的javascript应用程序只有一个版本,那么即使在加载第一页时,也会加载所有不必要的代码。我们可以利用js提供的异步功能,并按需加载块(通过代码拆分生成的模块)。 假设我的第一个页面只有一些信息,并且我在第二个页面的某个按钮上单击时显示弹出窗口,那么我不需要在第一个页面上调用pop的代码,但我可以在将来的任何条件下加载该弹出窗口包。除此之外,我们的捆绑包当然应该是丑陋的、缩小的和压缩的

捆绑销售的好处 缩小 虽然您可以缩小代码,即使它没有捆绑,但捆绑代码允许更大的缩小,这反过来又导致更快的加载时间

例如,假设您有两个文件,
file1.js
file2.js
file1.js
使用
file1.js
中的全局函数

单独缩小文件要求
file1
file2
中的函数名保持不变,因为缩小
file1
时,缩小器无法知道在
file2
中调用了什么函数(如果已缩小)

另一方面,绑定文件并缩小它们,允许缩小器重命名函数或变量的每次出现,从而使代码更小

此外,正如@gauraysingh所说,捆绑程序可以删除未使用的代码,例如函数。例如,假设您在应用程序中使用jQuery。当您绑定代码时,bundler和minifier可以删除所有未使用的jQuery方法,这意味着您将节省大量文件大小

更少的HTTP请求
仅向捆绑代码发出一个HTTP请求比发出多个请求更快,使用的数据更少。

捆绑代码的HTTP请求使用的数据更少是捆绑的其他优势(如小型化)的结果吗?@qsi14部分原因在于其他优势,部分原因是,更少的HTTP请求意味着更少的HTTP握手,因此所需时间更少