代码之家  ›  专栏  ›  技术社区  ›  Gurnard

grunt uglify不接受lambda或箭头函数

  •  2
  • Gurnard  · 技术社区  · 8 年前

    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,那么丑陋的功能就会起作用。

    这是箭头功能:

    myService.getActions($scope.myVar, (type) => (type === 'myType')?true:false);
    
    1 回复  |  直到 8 年前
        1
  •  5
  •   cartant    8 年前

    箭头功能是ES6的一个特性,在Uglify中不支持ES6,因此您的ES6需要转换为ES5才能变得丑陋。

    当您使用grunt时,您可以添加另一个任务-在 grunt-contrib-uglify -将JavaScript源代码从ES6转换为ES5。 Babel 可用于执行此操作,并且有一个 Babel grunt plugin .