webpack打包报错UglifyJs Unexpected token: punc (,)

前言

今天在打包一个前端项目时报错,如题所示,Vue项目当dev命令运行时能正常运行,打包后却报错UglifyJs Unexpected token: punc (,),但是能顺利打出来,看一下原webpack.prod.conf.js

1
2
3
4
5
6
7
8
9
10
 plugins: [
...
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
]

经过一番思考后对比其他项目打算换一个压缩插件uglifyjs-webpack-plugin,而不使用webpack内置插件,结果就解决了!

1
"uglifyjs-webpack-plugin": "^1.1.1"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
plugins: [
...
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
drop_debugger: true,
drop_console: true
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
...
]
注意

是1.1.1版本,我刚开始用的最新的2.x的版本反而报错,没看具体原因,换成1.1.1后完全正常