我非常困惑如何在使用原生ECMAScript模块和在package.json
中设置"type": "module"
时使用Babel配置。据我理解,根据Babel文档(这里,“支持的文件扩展名”章节),应该是可以实现的。但是如果我尝试使用如下的配置:
const config = () => {
const presets = [
"@babel/preset-react",
[
"@babel/preset-env",
{
bugfixes: true,
useBuiltIns: "usage",
corejs: { version: "3.6", proposals: true },
},
],
];
const plugins = ["@babel/plugin-transform-runtime"];
return { presets, plugins };
};
export default config;
我遇到了一个错误,提示为“加载配置文件时出错 - 您似乎正在使用本机 ECMAScript 模块配置文件,此时仅在异步运行 Babel 时受支持”。
这是预期的,因为文档指出“本机 ECMAScript 模块是异步的”。可惜,即使在上述配置中加入 async
/ await
,问题也无法解决。我是通过 parcel
运行 babel
的 - 这是否与 parcel
有关?我是否误解了文档?如果有人能为我澄清这个问题,我将不胜感激。