要解决这个问题,你可以使用@babel/preset-env
包中的modules
选项来指定不对Node.js模块进行转译。这样Babel将保留import/export
语法并将其转换为Node.js模块的require/module.exports
语法。
以下是一个解决方法的示例代码:
首先,安装@babel/preset-env
包:
npm install @babel/preset-env
然后,在你的Babel配置文件(通常是.babelrc
或babel.config.js
)中,添加@babel/preset-env
并指定modules
选项为'auto'
:
{
"presets": [
[
"@babel/preset-env",
{
"modules": "auto"
}
]
]
}
这将告诉Babel根据目标环境自动选择是否对模块进行转译。当目标环境是Node.js时,Babel将保留import/export
语法。
请注意,这种方法假设你已经正确设置了Babel和相关的插件和预设。