【问题标题】:Using ES6 in Nodejs without transpiling code在 Nodejs 中使用 ES6 而无需转译代码
【发布时间】:2019-01-22 23:23:49
【问题描述】:

我正在使用 Nodejs v9.0.0。我必须使用 Babel 将代码转译成 ES5,因为如果不转译它会抛出错误 unexpected token import。所以如果有人知道如何在nodejs中使用真正的ES6版本以及哪个nodejs版本。请告诉我。

谢谢

【问题讨论】:

  • 安装节点 v10.9.0。 v9 不支持 ES6 模块语法。
  • 如果您想解决unexpected token import 问题,请参阅此link
  • 我使用的 SDK 需要 Nodejs 9.0 不高于此版本。是否可以将 ES6 与 Node v9.0.0 一起使用?

标签: node.js ecmascript-6 babeljs ecmascript-5


【解决方案1】:

NodeJS 从 8.10 版本开始支持所有 es6:查看the column NodeJS in the es6 compatibility array。 遗憾的是不支持 ES6 模块语法或only with the flag experimental

所以你需要在 CJSModule 中转换你的 ESModule。您可以使用babel-plugin-transform-es2015-modules-commonjs 插件来实现

在你的 .babelrc 文件中:

"plugins": [
    "transform-es2015-modules-commonjs"
]

如果您使用babel-register,则在需要(导入)文件时发生转换

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-08
    • 2018-10-28
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 2015-08-15
    相关资源
    最近更新 更多