我正在尝试使用 UglifyJS 来最小化/压缩我的bundle.js
文件。当我运行webpack -p
时,我得到以下内容:
ERROR in bundle.js from UglifyJs
Name expected [bundle.js:105519,6]
第105519行如下:
const {M, l, pattern} = __webpack_require__(862)
。
我正在使用React w / ES6。对于什么是错的任何想法?
答案 0 :(得分:21)
每个版本的Webpack都有一个内置版本的UglifyJS(0.4.6),它不支持ES6。此版本仅支持ES5语法。
有两种可能的解决方案:
es5
请勿使用uglifyjs-webpack-plugin
的内置版本,并使用npm install -D uglifyjs-webpack-plugin
安装the latest version。将其添加到配置中的plugins
属性中:
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
plugins: [
new UglifyJSPlugin()
]
}
答案 1 :(得分:0)
当uglifyjs-webpack-plugin无法 Uglify 特定依赖
时出现此错误那么,如何查找产生此类错误的库?
我正在使用react,所以我删除了我的应用程序中的所有表单并保留了一个表单并导入了所有依赖项,并且删除/添加这些依赖项逐个 并运行命令
webpack -p
SO 在我的情况下,browser-history创建了这样的错误。现在您可以通过一些复制示例向该库的作者报告此问题
答案 2 :(得分:0)
绝对是uglifyjs版本和您尝试编译的javascript目标的问题。这可能是两件事,你的webpack设置和你的babel设置导致了这个。
如果您使用的是webpack v3.5.5的最新版本,则会附带uglifyjs-webpack-plugin ^0.4.6,它不支持es6或更高版本的目标。
请参阅当前关于docs选项的Webpack UglifyjsWebpackPlugin,其中介绍了如何使用uglify-js-webpack-plugin v1.0.0-beta.2的最新测试版。但不清楚如何安装该版本。
与Webpack一起使用
yarn add uglifyjs-webpack-plugin@beta --dev
因为你没有提到你的Babel设置是什么。您可能想要或希望使用babel-preset-env
作为预设。有option for uglifyjs。
很高兴看到回购或要点。