如何将 TS 文件转换为 ESM,同时确保所有导入都有扩展名?

Gas*_*sim 5 typescript babeljs es6-modules

我有一个设置,使用 Babel 将 Typescript 文件转换为 ESM 格式。这是我的配置:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "esmodules": true
        },
        "modules": false
      }
    ],
    "@babel/preset-react",
    "@babel/preset-typescript"
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我检查 Babel 生成的输出时,我发现所有导入都没有.js文件扩展名:

// should be './SomeComponent.js' according to ESM spec
import SomeComponent from './SomeComponent';
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Babel 中启用它,使其符合 ESM 要求?