Error: Unexpected token: punc ()

Error: Unexpected token: punc ()

我正在尝试构建使用 webpack 的项目。我的 UglifyJS 选项如下所示:

new UglifyJSPlugin({
            sourceMap: false,
            uglifyOptions: {
              compress: {
                warnings: false,
              },
              output: {
                comments: false,
              },
            },
          }),

我得到的是一个错误: Unexpected token: punc ()) [index-3d0ae630eaa0a0128a00.js:145853,20]

我发现一些 SO 主题说这可能是 webpack uglify 插件的问题,但我已经切换到 uglifyjs-webpack-plugin

有什么想法吗?

我遇到了同样的错误并且能够通过以下方式修复它:

  1. 正在升级到 1.0.0-beta.2 (npm i -D uglifyjs-webpack-plugin@beta)
  2. "uglifyjs": true 添加到 babel-preset-env
  3. 中的目标

如果您使用的是 env 预设,请尝试更新 .babelrc 中的目标:

{
  "presets": [
    [
      "env",
      {
        "targets": {
          "uglify": true
        }
      }
    ]
  ]
}

还有 an issue on the plugin repo 列出了其他可能的解决方案。