Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript grunt uglify js不理解某些es6功能?_Javascript_Gruntjs_Ecmascript 6_Grunt Contrib Uglify - Fatal编程技术网

Javascript grunt uglify js不理解某些es6功能?

Javascript grunt uglify js不理解某些es6功能?,javascript,gruntjs,ecmascript-6,grunt-contrib-uglify,Javascript,Gruntjs,Ecmascript 6,Grunt Contrib Uglify,我在我的项目中使用了grunt uglify,我正在使用es6。对于某些es6特性,例如胖箭头函数,它抛出了一个错误。我认为丑八怪并不理解这种语法。所以我有办法解决这个问题。我的意思是,我可以使用任何东西让丑陋的人理解所有es6语法吗?官方还没有工具缩小es6(其他工具如Google Closure compiler支持es6,但它将其转换为“传统js”,然后缩小) 虽然并非所有es6功能都在UglifyJs中受支持,但似乎支持箭头功能和其他功能 。似乎没有其他选择等待(或创建自己的ES6迷你版

我在我的项目中使用了grunt uglify,我正在使用es6。对于某些es6特性,例如胖箭头函数,它抛出了一个错误。我认为丑八怪并不理解这种语法。所以我有办法解决这个问题。我的意思是,我可以使用任何东西让丑陋的人理解所有es6语法吗?

官方还没有工具缩小es6(其他工具如Google Closure compiler支持es6,但它将其转换为“传统js”,然后缩小)

虽然并非所有es6功能都在UglifyJs中受支持,但似乎支持箭头功能和其他功能

。似乎没有其他选择等待(或创建自己的ES6迷你版)

更新

现在,您有两个缩小ES6的选项:


如果生成的代码不需要使用ES6语法,也可以在升级代码之前将ES6传输到ES5。例如,这可以通过Grunt任务来完成。

您可以使用
Grunt contrib uglify
harmony
分支

npm install git://github.com/gruntjs/grunt-contrib-uglify.git#harmony --save-dev

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

我刚刚更新为uglify-js@2.8.29它成功了。

一个用于ES6+的Grunt插件ES6解析器、mangler/compressor和beautifier工具包现在可以使用了:

干得好,一切正常


grunt contrib uglify
harmony
分支已被弃用,这不是一个可持续的解决方案。

有什么消息吗?Bump!现在。。仍然面临着无法接受“让”的丑陋。2021年现在,它已部分实施。没有人支持。?操作员,但我还没有发现其他问题……这是唯一一个对我有效的问题,但只有在添加
grunt.loadNpmTasks('grunt-contrib-uglify-es')后才有效
Gruntfile中的这一javascript行,如.grunt contrib uglify.git#harmony中所述,现在已不推荐使用