grunt uglify js无法理解一些es6功能?

15 javascript gruntjs ecmascript-6 grunt-contrib-uglify

我在我的项目中使用了grunt-uglify,我正在使用es6.对于某些es6功能,例如胖箭头功能,它会抛出一个错误.我认为uglify不懂语法.所以我有办法解决这个问题.我的意思是我可以使用任何东西来使uglify理解所有的es6语法吗?

Yev*_*kyi 17

你可以使用的harmony分支grunt-contrib-uglify.

npm install git://github.com/gruntjs/grunt-contrib-uglify.git#harmony --save-dev
Run Code Online (Sandbox Code Playgroud)

与es6完美配合.不需要额外的grunt设置.

  • 这是唯一对我有用的方法,但它只有在添加 `grunt.loadNpmTasks('grunt-contrib-uglify-es');` Gruntfile 中的这一行 javascript 行后才起作用,如[官方 GitHub 页面]( https://github.com/gruntjs/grunt-contrib-uglify/tree/harmony#grunt-contrib-uglify-es-v330--)。 (4认同)

Car*_*ado 14

目前还没有工具可以缩小ES6(其他工具如Google Closure编译器支持ES6,但它将其转换为"传统的js"然后它被缩小).

尽管UglifyJs并不支持所有es6功能,但UglifyJS2的Harmony分支似乎支持箭头功能和其他功能.

您可以在github的问题中阅读有关它的讨论.似乎没有其他选择等待(或创建自己的ES6缩小器).

更新

现在您有2个选项来缩小ES6:

  • 撞!现在已经2019年了..仍然面临着无法接受“让”的丑陋。 (3认同)
  • 有什么消息吗? (2认同)