我正在运行grunt-contrib-uglify v 2.15.1。当我使用lambda或箭头函数时,它会失败:
Running "uglify:admin" (uglify) task
{ message: 'SyntaxError: Unexpected token: operator (>)',
filename: 'admin-app-ng.js',
line: 4927,
col: 50,
pos: 216049,
stack: 'Error\n at new JS_Parse_Error (eval at <anonymous>
如果我删除了lambda,那么uglify函数。 有没有办法在使用lambda / arrow函数时使用uglify?
这是箭头功能:
myService.getActions($scope.myVar, (type) => (type === 'myType')?true:false);
答案 0 :(得分:3)
箭头功能是ES6的一项功能,并且在Uglify for ES6中不支持,因此您的ES6需要先转换为ES5才能进行升级。
当您使用grunt时,您可以在grunt-contrib-uglify
之前添加另一项任务 - 将您的JavaScript源从ES6转换为ES5。 Babel可用于执行此操作,并且有一个Babel grunt plugin。