我正在使用Laravel 5.6
使用laravel-mix@2.1.14
进行一个新项目。当我使用npm run production
编译我的资产时,它们没有像它们应该的那样带有后缀
注意
即使删除if mix.inProduction()
,版本控制也不起作用
问题
我是唯一面临这个问题的人吗?我该怎么办?
webpack.mix.js
let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.copyDirectory('resources/assets/images', 'public/images');
if (mix.inProduction()) {
mix.version();
}
Laravel 5.6的混音现在的工作方式有所不同。它现在不再使用哈希作为编译文件的后缀,而是使用 url 查询来尝试访问您的资产。
尝试打开浏览器开发工具,查看页面如何包含资产。它将在 URL 中附加一个id
参数。
例如GET /js/app.js?id=<SOME_HASH_HERE>