如何在 Laravel Mix 生成的产品中包含缩小的 javascript 文件?

How to include minified javascript file in production generated by Laravel Mix?

我正在使用 laravel-mix,这是我的 webpack.mix.js:

const mix = require('laravel-mix');

mix.version();
mix.js('resources/js/app.js', 'public/js').extract();

if (mix.inProduction()) {
    mix.minify('public/js/vendor.js');
}

在生产中我想使用 vendor.js 的缩小版本。

在我的 blade 模板中:

<script src="{{ mix('js/vendor.js') }}"></script>

在开发中它按预期工作。但在生产中 laravel-mix 不包括我的缩小版本。只有在我明确指定时才会加载缩小版本:

<script src="{{ mix('js/vendor.min.js') }}"></script>

如何在不更改模板的情况下包含正确版本的文件?

Laravel 在生产中混合 automatically minifies .js 个文件。

这意味着您的 vendor.js 已在生产环境中缩小,因此无需生成单独的 vendor.min.js