Laravel 混合和编号资产,用哈希代替?

Jaf*_*afo 5 laravel webpack

当我在 Laravel 项目上运行 npn run dev 时,我得到:

在此输入图像描述

有什么方法可以将这些编号的 javascript 资产的名称更改为唯一的名称,例如基于内容的哈希值?当被请求时,它们在查询字符串中似乎没有缓存破坏哈希,并且我不时注意到浏览器缓存这些问题。这是我的 webpack.mix.js 文件:

let mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.sass('resources/sass/web.scss', 'public/css/web.css')
.options({
  processCssUrls: false,

}).version();

mix.extract(['vue', 'jquery']);
Run Code Online (Sandbox Code Playgroud)

Jaf*_*afo 7

这就是我最终所做的并且效果很好:

mix.webpackConfig({
    output: {
        chunkFilename: "[name].[chunkhash:8].js",
        filename: "[name].js",
    }
});

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css')
   .sass('resources/sass/web.scss', 'public/css/web.css')
   .options({
      processCssUrls: false,

    }).version();

mix.extract(['vue', 'jquery']);
Run Code Online (Sandbox Code Playgroud)