【问题标题】:Laravel Mix: What is the benefit of extracting vendors?Laravel Mix:提取供应商有什么好处?
【发布时间】:2019-08-29 01:39:31
【问题描述】:
我的压缩包大小为 246kb。我正在查看是否可以变得更小,并且我读到使用 mix.extract(['vue', 'jquery']); 提取 vue 和 jquery 可以帮助做到这一点。我将它添加到 webpack.mix.js` 中,现在它创建了 2 个文件而不是 1 个。它生成了:1)app.js 为 161kb 和 2)vendor.js 为 180kb。如果两者都需要包含在页面中,这样做有什么好处?
【问题讨论】:
标签:
laravel
vue.js
laravel-mix
【解决方案1】:
它可以帮助您优化客户端需要下载的文件的文件大小。从而加快页面加载速度,即使您已经更新了您的网站。
检查documentation。
将所有特定于应用程序的 JavaScript 与供应商库捆绑在一起的一个潜在缺点是,它会使长期缓存变得更加困难。例如,对应用程序代码的一次更新将强制浏览器重新下载所有供应商库,即使它们没有更改。
【解决方案2】:
这主要与缓存未更改的文件有关。例如:在开发应用程序时,您正在更改文件,将自己的代码添加到项目中,然后重新编译它们全部一起。但是供应商是核心库,您永远不会再次编辑他们的代码。因此无需再次编译它们并下载 app.js 文件中的所有源代码。因此,当您提取未更改文件的供应商时,您的缓存内容大小会增加,并且还会减少应用程序的下载时间,因为必须再次下载较少更改的文件。