webpack添加uglifyjs后打包报错

插件:uglifyjs-webpack-plugin(^2.2.0)
错误描述:

ERROR in app.bundle.js from UglifyJs
Unexpected token: name «src_element», expected: punc «;» [./src/index.js:26,4][app.bundle.js:17293,4]

定位到./src/index.js:26,4:

let element = component();

初步分析,是因为使用了关键字let,将let换成var后就不再再报错。


但,原因是什么?
以及如何使用letuglifyjs-webpack-plugin不报错呢?

阅读 4.7k
1 个回答

可能是没有用 babel-loader ,或者没有在 babelrc 的 presets 列表中添加 "es2015",导致 uglify 操作了 ES6 的语法。
若是如此,解决方法有二:

  1. 使用 babel-loader 处理 .js/.jsx 后缀的文件,并将目标语言设为 ES2015;
  2. 查看有没有使 uglifyjs-webpack-plugin 支持 ES6 的配置或者版本,当然,这样写出来的页面在某些浏览器上不能正常工作。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题