Babel-node中的变量声明

时间:2016-01-22 19:37:10

标签: javascript node.js ecmascript-6 babeljs

我正在使用babel-node来执行这个简单的语句:

let obj = {};

但是当我跑步时,会出现以下错误:

SyntaError: repl: Only 'var' variables are supported in repl

我试图运行'var'而不是'let',但它出现了:

undefined

然后我无法访问变量

1 个答案:

答案 0 :(得分:2)

这是因为在使用babel-node repl时,您必须加载所选的presets来激活各自的es2015功能。

为此,您需要运行:

npm install babel-preset-es2015 

然后在启动babel repl时,您必须指定预设:

babel-node --presets es2015

现在您可以使用let obj = {}

关于undefined输出,babel-node甚至是node repl,这是预期和默认行为。根据节点REPL docs

ignoreUndefined - 如果设置为true,则如果命令undefined,则repl不会输出命令的返回值。默认为false

这意味着,只要您在repl中调用某些内容,就会返回undefined