Webpack的UglifyJsPlugin无法编译ES6包

时间:2017-09-21 02:48:13

标签: javascript node.js webpack ecmascript-6

我在我的Webpack设置中有这个:

// webpack.prod.conf.js
new webpack.optimize.UglifyJsPlugin({
  compress: {
    warnings: false,
    drop_console: shouldDropConsole
  },
  sourceMap: true
}),

// .babelrc
"presets": [
  ["stage-2"],
  ["es2015",  {"modules": false}]
],

当我npm run build时,我收到以下错误:

  

来自UglifyJs的static / js / vendor.8b608f0ab832a371f4a5.js中的错误   意外的令牌:名称(完成)   [./node_modules/pica/lib/mathlib.js:35,0][static/js/vendor.8b608f0ab832a371f4a5.js:38950,6]

因此UglifyJS无法识别那里的ES6代码:let

如何解决这个问题?有没有解决方法? (我使用的是Webpack 3.6.0)。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案(如何在Webpack设置中将节点模块的ES6转换为ES5):

  {
    test: /\.js$/,
    loader: 'babel-loader',
    include: [
     resolve('src'),
     resolve('test'),
     resolve('node_modules/pica'),
     resolve('node_modules/countries-list')
  ],