如何在不添加后缀.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.js
和 script2.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
文件
也许这不是最佳实践,但它适用于已经不好实践的现有项目;
我试过使用如下的 minify 方法:
mix.minify('public/js/folder/script1.js');
mix.minify('public/js/folder/script2.js');
但它会创建 script1.min.js
和 script2.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
文件
也许这不是最佳实践,但它适用于已经不好实践的现有项目;