【问题标题】:How to use babel's env preset to target Node with ES6 modules enabled?如何使用 babel 的 env 预设来定位启用 ES6 模块的 Node?
【发布时间】:2022-07-28 03:06:15
【问题描述】:

有了这个配置:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "16"
        }
      }
    ]
  ]
}

...Babel 将 import/export 语法转换为 CommonJS (require)。

我该如何改变这个以便 Babel 保留 importexport 语法,所以我可以将结果输出作为 ES 模块运行(例如,使用 node 和 @987654328 运行它@扩展)?

我尝试将"esmodules": true 添加到targets,但与"node": "16" 结合使用时似乎没有任何区别。

【问题讨论】:

  • 您找到解决方案了吗?
  • @rendom 否。你赞成这个问题吗?

标签: node.js babeljs babel-preset-env


【解决方案1】:

我刚刚遇到了同样的问题。我想出的最好的“解决方案”就是不要在代码中使用preset-env。由于较新版本的Node基本支持preset-env目前包含的所有功能,我只是没有应用它,我只会根据实验解决方案的需要应用插件。

对于旧版本的 Node 来说不是一个很好的解决方案,但对于最近的版本来说已经足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 2015-09-13
    • 2017-06-20
    • 2017-10-06
    相关资源
    最近更新 更多