要解决这个问题,我们可以使用一些常见的polyfill库来添加对IE 11的支持。下面是一个使用core-js和@babel/preset-env来为Babel添加对IE 11的支持的示例:
首先,安装所需的依赖项:
npm install --save-dev core-js @babel/preset-env
然后,在你的Babel配置文件(比如.babelrc
或babel.config.js
)中,将@babel/preset-env
添加到你的预设中,并指定IE 11作为目标:
.babelrc:
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"ie": "11"
},
"useBuiltIns": "usage",
"corejs": 3
}
]
]
}
babel.config.js:
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
ie: '11',
},
useBuiltIns: 'usage',
corejs: 3,
},
],
],
};
最后,确保你的代码中使用了core-js的polyfills。你可以在入口文件(比如index.js
)中导入core-js
的polyfills:
import 'core-js/stable';
import 'regenerator-runtime/runtime';
// rest of your code
现在,Babel将包含适用于IE 11的相关polyfills,并且你的代码应该可以在IE 11中正常运行了。