如何在不添加后缀.min.js的情况下缩小laravel混合中的JS?

How to minify JS in laravel mix without add suffix .min.js?

我试过使用如下的 minify 方法:

    mix.minify('public/js/folder/script1.js');
    mix.minify('public/js/folder/script2.js');

但它会创建 script1.min.jsscript2.min.js

我也试过了:

    mix.minify('public/js/folder/script1.js', 'public/js/folder/script1.js');
    mix.minify('public/js/folder/script2.js', 'public/js/folder/script2.js');

并且仍然创建相同的文件。如何在不添加后缀 .min.js?

的情况下缩小

我找不到 laravel-mix 解决方案,所以我使用了另一个使用 uglifyjs-folder 的解决方案:

 npm install uglifyjs-folder --save-dev

在 prod 脚本中将 && uglifyjs-folder public/js -e -x .js -o public/js 添加到 package.js,如下所示:

"scripts": {
    "dev": "npm run development",
    "development": "mix",
    "watch": "mix watch",
    "watch-poll": "mix watch -- --watch-options-poll=1000",
    "hot": "mix watch --hot",
    "prod": "npm run production && uglifyjs-folder public/js -e -x .js -o public/js",
    "production": "mix --production"
},

它将在 运行 npm run prod.

之后缩小 public/js 文件夹中的所有 .js 文件

也许这不是最佳实践,但它适用于已经不好实践的现有项目;