拉取了一个新项目,执行 npm run build
时居然报错了。
错误提示
错误提示可以看到是UglifyJs的问题,uglifyjs是webpack的一个plugin,用来压缩打包后的JS。
uglifyjs在压缩 ES5 方面做的很优秀,但是随着 ES6 语法的普及,uglifyjs在 ES6 代码压缩上做的不够好,所以有了uglify-es项目,但是之后uglify-es项目不在维护了,terser 是从uglify-es项目拉的一个分支,来继续维护。terser-webpack-plugin 具有跟 Uglifyjs-webpack-plugin 相同的参数。
也就是说uglifyjs老了,官方都停更了。现在推荐采用terser-webpack-plugin。
现在动手把uglifyjs替换成terser试试!
1. 安装terser
npm install terser-webpack-plugin --save-dev
2. 修改webpack配置
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
},
};
3. 重新打包
npm run build
网友评论