为什么Babel REPL不能使用选定的预设运行?

时间:2017-10-09 11:05:53

标签: javascript node.js ecmascript-6 babeljs

因此,使用ES6扩展运算符来获取此JS代码:

const a = { foo: 'bar' }
const b = { ...a }
console.log(b)

如果我用Babel编译它,如:

./node_modules/.bin/babel temp.js --presets stage-0

一切都应该如此。但是说我想从babel节点REPL运行它,从它开始:

./node_modules/.bin/babel-node --presets stage-0

然后在提示符处输入上面的代码,在点击运算符行const b = { ...a }上输入后,我得到:

SyntaxError: repl: Modules aren't supported in the REPL (This is an error on an internal node. Probably an internal error)

为什么呢? : - )

1 个答案:

答案 0 :(得分:0)

啊哈。所以问题似乎是虽然stage-0会很好地编译传播语法,但我的transform-runtime文件中有.babelrc插件。这会导致编译器输出涉及require语句(对于在这种情况下处理传播的效用函数),这就是错误的含义。

现在的问题是......如何在CLI中禁用babel插件?当我想暂时运行babel-node时,只需评论该行。