Laravel 8 Vendor 提取
将应用自身的 JavaScript 和第三方库绑定在一起有个潜在的缺点:会使长期缓存变得困难。例如,应用代码的单独更新将强制浏览器重新下载全部第三方库,即使第三方库没有发生变化。
如果你打算频繁地更新应用中的 JavaScript,应该考虑将第三方库提取到它自己的文件中。这样一来,应用代码的改变将不影响 vendor.js
文件缓存。Mix 的 extract
方法为之提供了便利:
mix.js('resources/js/app.js', 'public/js')
.extract(['vue'])
extract
方法接受你想要提取到 vendor.js
的全部库或模块的数组作为参数。使用上面例子中的代码片段,Mix 将生成如下文件:
public/js/manifest.js
: Webpack 运行时清单public/js/vendor.js
: 第三方库代码public/js/app.js
: 应用代码
为避免 JavaScript 错误,应确保按适应顺序加载这些文件:
<script src="/js/manifest.js"></script>
<script src="/js/vendor.js"></script>
<script src="/js/app.js"></script>