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

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

 plugins: [
...
   new webpack.optimize.UglifyJsPlugin({
      compress: {
        warnings: false
      },
      sourceMap: config.build.productionSourceMap,
      parallel: true
    }),
]

就是简单的使用了一个webpack内置压缩js的插件,报错信息为:“js文件app.xxx.js中14922行有,逗号问题”。检查了这个文件确实是返回了一个含有逗号对象,但是看起来完全没有任何问题呀?
网上说是babel转换的问题,有调整babelrc配置,实测没用。难道是webpack版本太低了的原因?

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

webpack.prod.conf.js:

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)