我使用一个简单的混合脚本来生成JS和CSS,但是我有一个问题--我还没有找到答案。
如果我设置了version()标志,vendor.js也会被覆盖吗?如果是的话,采用萃取法生产的好处是什么?
mix
.js('resources/assets/js/app.js', 'public/js')
.extract([
'lodash', 'jquery', 'vue', 'query-string',
'datatables.net', 'datatables.net-buttons', 'datatables.net-bs4', 'datatables.net-buttons-bs4', 'datatables.net-buttons/js/buttons.html5.js',
'select2', 'axios', 'moment', 'popper.js', 'bootstrap', 'vue-chartjs', 'v-tooltip', 'moment/locale/es', 'vue-moment',
'jszip/dist/jszip', 'pdfmake/build/pdfmake.js', 'pdfmake/build/vfs_fonts.js', 'sweetalert', 'vue-strap', 'vue-strap/dist/vue-strap-lang',
'moment-array-dates', 'vue-toast', 'randomcolor', 'url', 'google-maps'
])
.sass('resources/assets/sass/app.scss', 'public/css')
.copy('node_modules/font-awesome/fonts', 'public/fonts/vendor/font-awesome');
if (mix.inProduction()) {
mix.version();
}发布于 2018-09-25 21:32:37
这样,频繁更改的app.js文件就可以利用缓存中断,但是很少更改的vendor.js文件可以尽可能长时间地保存在缓存中。
更详细的解释来自Jeffrey Way:
https://github.com/JeffreyWay/laravel-mix/blob/master/docs/extract.md
https://stackoverflow.com/questions/49046564
复制相似问题