grunt uglify js无法理解一些es6功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grunt uglify js无法理解一些es6功能?相关的知识,希望对你有一定的参考价值。
我在我的项目中使用了grunt-uglify,我正在使用es6。对于某些es6功能,例如胖箭头功能,它会抛出一个错误。我认为uglify不懂语法。所以我有办法解决这个问题。我的意思是我可以使用任何东西来使uglify理解所有的es6语法吗?
目前还没有工具可以缩小ES6(其他工具,如Google Closure编译器支持ES6,但它将其转换为“传统的js”然后它被缩小)。
尽管并非UglifyJs支持所有es6功能,但the Harmony branch of UglifyJS2似乎支持箭头功能和其他功能。
You can read the discussion about it in the issue of github here。似乎没有其他选择等待(或创建自己的ES6缩小器)。
更新
现在您有2个选项来缩小ES6:
你可以使用harmony
的grunt-contrib-uglify
分支。
npm install git://github.com/gruntjs/grunt-contrib-uglify.git#harmony --save-dev
与es6完美配合。不需要额外的grunt设置。
如果生成的代码不需要使用ES6语法,那么在解释代码之前,还可以将ES6转换为ES5。例如,这可以通过Grunt任务grunt-es6-transpiler来完成。
我刚刚更新到uglify-js@2.8.29并且它有效。
以上是关于grunt uglify js无法理解一些es6功能?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用grunt-contrib-concat和grunt-contrib-uglify为每个单独的js文件创建源图?
如何在文件夹中uglify多个.js文件并将它们输出到另一个文件夹?