【问题标题】:Use babel in Node console在 Node 控制台中使用 babel
【发布时间】:2016-11-07 18:08:14
【问题描述】:

我正在运行节点4.6.1,我想在节点控制台中获得 es6/7/8 语法,就像我可以通过 Babel 获得一样。我可以使用 babel 编译脚本,例如通过运行

babel-node ./index.js --presets es2015,stage-0

但我找不到如何在控制台中获得这样的语法支持。例如节点控制台不理解诸如

之类的东西
const filter = {...{ foo: 1 }, ...{ bar: 4 } }

或所有异步/等待的东西。

【问题讨论】:

  • 可能是因为async/await 是 ES8 并且对象传播语法仍然只是一个建议,所以 ES6/7 什么都没有?
  • @Bergi 感谢您的精确,我已经更新了问题

标签: node.js console babeljs ecmascript-next


【解决方案1】:

使用 npm 运行脚本时,npm 会加载 node_modules/.bin 下不属于 PATH 的脚本。这么跑

$ babel-node --presets es2015,stage-0

将失败

-bash: babel-node: command not found

但是

$ node_modules/.bin/babel-node --presets es2015,stage-0

可以正常工作。我会得到一个我可以做的节点控制台:

> const filter = {...{ foo: 1 }, ...{ bar: 4 } }
> filter
{ foo: 1, bar: 4 }
> const a = async () => {}

【讨论】:

    猜你喜欢
    • 2017-06-15
    • 1970-01-01
    • 2017-08-17
    • 2020-10-27
    • 1970-01-01
    • 2015-08-26
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多