package.json中Minify脚本执行无法终止问题求助
问题原因与解决方法
核心问题
你使用的-i参数在uglify-js 2.x版本中不是指定输入文件的选项,它实际是开启交互模式,进程会一直等待你手动输入内容,所以才会持续运行不结束。
修复步骤
修正命令参数
移除-i,直接将输入文件路径放在命令开头,修改package.json中的脚本:"scripts": { "minify": "uglifyjs src/*.js -o build/scripts.min.js", "uglify": "npm run minify" }, "devDependencies": { "uglify-js": "^2.8.29" }确保必要目录存在
提前手动创建build目录,或者在脚本中添加创建目录的命令:- 类Unix系统(Mac/Linux):
"minify": "mkdir -p build && uglifyjs src/*.js -o build/scripts.min.js" - Windows系统:
"minify": "mkdir build 2>nul && uglifyjs src/*.js -o build/scripts.min.js"
- 类Unix系统(Mac/Linux):
可选:升级uglify-js版本
考虑升级到uglify-js 3.x版本,它的参数语法更直观,支持--input(缩写-i)指定输入,避免版本差异导致的参数误解:npm install uglify-js@^3.17.4 --save-dev升级后的脚本可以写成:
"minify": "uglifyjs --input src/*.js --output build/scripts.min.js"
内容的提问来源于stack exchange,提问作者Labanino
相关产品推荐
相关产品推荐

