如何在`.babelrc`或`babel.config.js`中启用ES Modules支持?
时间: 2024-10-19 11:03:07 浏览: 14
要在`.babelrc`或`babel.config.js`文件中启用ES Modules支持,你需要添加一些配置来告诉Babel转换器如何处理ES6模块。这里是一个基本示例:
如果你使用的是`.babelrc`文件:
```json
{
"presets": [
["@babel/preset-env", { "targets": { "esmodules": true } }],
"@babel/preset-typescript" // 如果你项目包含TypeScript
],
"plugins": [
["@babel/plugin-transform-modules-commonjs"] // 需要移除或替换为["@babel/plugin-transform-modules-esm"]
]
}
```
如果你使用的是`babel.config.js`文件:
```javascript
module.exports = {
presets: ['@babel/preset-env', '@babel/preset-typescript'],
plugins: [['@babel/plugin-transform-modules-commonjs', { "loose": true }]],
};
// 或者使用 @babel/register 和 @babel/preset-env 的 es2020 或更高版本
// module.exports = require('@babel/register')({
// presets: [['@babel/preset-env', { 'targets': { 'esmodules': true } }]]
// });
```
记得将`@babel/plugin-transform-modules-commonjs`替换为`["@babel/plugin-transform-modules-esm", { "loose": true }]`,这会告诉Babel支持ES Modules。
阅读全文