Javascript ES6箭头函数意外标记

Javascript ES6箭头函数意外标记,javascript,ecmascript-6,Javascript,Ecmascript 6,我犯了这个错误 [11:55:38] Unexpected token => at test.js : 175 | // } 176 | }) 177 | var f = (req, res, next) => { ------------------------------------^ 178 | return res.json('test'); 179 | }; 运行此特定代码时 var f = (req, res, next) => { retu

我犯了这个错误

[11:55:38] Unexpected token => at test.js :
175 |    // }
176 |  })
177 |  var f = (req, res, next) => {
------------------------------------^
178 |    return res.json('test');
179 |  };
运行此特定代码时

var f = (req, res, next) => {
  return res.json('test');
};

app.get('/test', f);
我正在玩ES6,我找不到解决这个错误的方法,即使我的路线工作正常并返回“test”

有人可能知道这个片段的问题吗

==更新=====

'use strict';

module.exports.controller = function (app) {

  app.get('/test', (req, res, next) => {
    return res.json('test');
  });
}
谢谢! 凯文·杰伊·德拉·克鲁兹

好的

我找到了它的来源,错误来自
gulpjscs
。 将
gulpjscs
更新为3.0.2可修复此错误

谢谢大家!

你可以写

module.exports.controller = function (app) {
    app.get('/test', (req, res, next) => res.json('test'));
}

因为return总是最后一个表达式的结果没有花括号。

哪个版本的NodeJS?看起来它不支持箭头函数。另外,当应用程序在test.js中出现错误“Unexpected token=>时,应用程序如何运行(返回
test
)?我使用的是v6.2.0。我想这是最新的版本。@JagsSparrow我知道这很奇怪,这就是我来这里的原因。我想可能只是调试器。因为当我在浏览器中访问它时,我可以看到result@JonathanLonowski我添加了整个代码。(除了更新的代码,我删除了所有内容,但仍然得到了相同的错误)语句需要大括号,并且返回一个
。如果函数体是表达式,则可以省去大括号。@FizzyTea,在本例中是这样。是的,重点是箭头函数不返回上一条语句的结果。除非函数体是表达式,否则您需要返回值。@FizzyTea箭头主要用于内联操作,如数组方法或将计算参数传递给函数。如果您发现自己需要使用大括号并返回箭头,那么我认为您最好使用适当的函数表示法。话虽如此,在某些情况下,我不得不将说明与帕伦斯进行分组,如<代码>a.reduce((p,c)=>(c.stg==42和p.push(c.stg,p),[])所以是的,在这种情况下返回最后一条指令。是的,最初的措辞是“statement”,而不是statement。