项目当dev命令运行时能正常运行,打包后却报错UglifyJs Unexpected token: punc (,),
javascript
> yarn build
Creating an optimized production build...
Failed to compile.
Failed to minify the bundle. Error: static/js/main.js from UglifyJs
Unexpected token: punc (,) [static/js/main.js:11913,13]
at /Users/busyRobot/workSpace/B/A/scripts/build.js:120:23
at /Users/busyRobot/workSpace/B/A/node_modules/webpack/lib/Compiler.js:269:13
at Compiler.emitRecords (/Users/busyRobot/workSpace/B/A/node_modules/webpack/lib/Compiler.js:375:38)
at /Users/busyRobot/workSpace/B/A/node_modules/webpack/lib/Compiler.js:262:10
at /Users/busyRobot/workSpace/B/A/node_modules/webpack/lib/Compiler.js:368:12
at next (/Users/busyRobot/workSpace/B/A/node_modules/tapable/lib/Tapable.js:218:11)
at Compiler.<anonymous> (/Users/busyRobot/workSpace/B/A/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
at next (/Users/busyRobot/workSpace/B/A/node_modules/tapable/lib/Tapable.js:220:14)
at /Users/busyRobot/workSpace/B/A/node_modules/sw-precache-webpack-plugin/lib/index.js:98:18
Read more here: http://bit.ly/2tRViJ9
但是能顺利打出来,看一下原webpack.prod.conf.js:
JavaScript
plugins: [
...
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
]
经过一番思考后对比其他项目打算换一个压缩插件uglifyjs-webpack-plugin,而不使用webpack内置插件,结果就解决了!
1.在package.json中添加如下插件依赖
"uglifyjs-webpack-plugin": "^1.1.1"
2.修改文件webpack.prod.conf.js, 替换webpack的压缩插件
JavaScript
//文件开始处添加如下
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
}),
...
]
注意把之前的webpack配置的压缩插件注释了。
3.再次打包,成功了。