let {name, description} = req.body;
NodeJS v5.2.0。 尝试使用标志 - 节点bin / www --es_staging --harmony_destructuring。引发错误:SyntaxError:意外的令牌{... 我应该使用Babel编译源代码,还是有其他方法在NodeJS中原生使用ES6?
答案 0 :(得分:9)
Node 5.2.0中默认不支持解构分配,但如果您使用node --harmony_destructuring
启用它,它将起作用。
但是let
目前仅在严格模式下受支持
这是一个V8问题,包含V8版本4.6的Node版本5.0.0也将以草率模式支持let
。
此时在草率模式下使用let
会抛出你得到的完全相同的错误,所以:
"use strict"
let {name, description} = {name: "some name", description : "some description"};
在Node 5.2.0中运行正常,请注意,对象(在您的情况下为req.body
)必须与变量名称具有相同的键,否则它们将为undefined
。