UglifyJs 插件开始抛出错误 Unexpected Token

UglifyJs plugin started throwing error Unexpected Token

我使用 webpack 为我的电子应用程序捆绑代码并使用 uglifyJs 插件。直到昨天,这一切都很好。为了解决某个问题,我安装了节点模块修复路径,然后在 运行 webpack 上出现以下错误:

ERROR in desktopServices.js from UglifyJs Unexpected token: name (IPCModule) [desktopServices.js:16956,6]

我卸载了那个节点模块,删除了 node_modules 文件夹并使用 npm install 进行了全新安装。

但是,错误仍然存​​在。

我已经使用 babel 来编译代码,所以这不是因为 uglify 不支持 es6 功能,如 https://github.com/webpack/webpack/issues/2972

中所述

我四处搜索,但在如何解决这个问题上遇到了死胡同。 有什么想法吗?

好的,所以我找到了问题的解决方案。问题是不知何故我的 webpack 版本也升级了,这本身并不是一件坏事。但是为了让 uglifyjs webpack 插件与我的代码库一起工作,我在几周前安装了 uglifjs-webpack-plugin@beta,它使用 uglify-es 并且没有抛出我的代码有任何错误。

但是,它必须安装在 node_modules 内的 webpack 文件夹中才能运行。我已经在项目级别安装了它,但它仍然抛出错误,但在 webpack 中安装可以防止任何错误,所以我继续这样做。我使用了 https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/78#issuecomment-314201150

中的命令
npm i -D uglifyjs-webpack-plugin@beta

现在,由于 webpack 已更新,安装 beta 插件这个奇怪的小步骤必须再次完成。奇怪的是,我在我的项目中一个名为 IMPORTANT_MEMO 的文件中添加了这个确切的解决方案,但我什至没有看它,可能是因为我没有意识到 webpack 已经更新。