打包报错 ERROR in xxx.js from UglifyJs

错误及原因:

ERROR in main.4726444ca79947ed6f5e.js from UglifyJs
Unexpected token: name (r) [main.4726444ca79947ed6f5e.js:287,7017]
Child html-webpack-plugin for "..\index.html":
     1 asset
Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/index.js?minimize!node_modules/autoprefixer-loader/index.js!node_modules/iview/dist/styles/iview.css:

起因是webpack.optimize.UglifyJsPlugin在打包混淆的时候因为有ES6代码导致的执行失败,一般来说配置了如下代码就不会有问题

{
	test: /\.js$/,
	loader: 'babel-loader',
	exclude: /node_modules/
},

但肯定是有意外的,意外可能存在于node_modules中包含了含有ES6代码的文件

解决方案:

  • 如果是babel配置错误的话请看这里:【解决】ERROR in xxx.js from UglifyJs

  • 如果上面方法不起作用,可以尝试下面方法

    1. 如果不清楚是哪个依赖,那么将代码exclude: /node_modules/删除掉,确保囊括node_modules中所有的ES6代码。
    2. 如果明确知道是哪个依赖,那么
      	{
      		test: /\.js$/,
      		loader: 'babel-loader',
      		include: [path.resolve('src'), path.resolve('依赖目录地址')]
      	}
      

你可能感兴趣的:(JavaScript,webpack)