使用Promise和Fetch的问题是因为Babel 7默认不转译ES6的Promise和Fetch语法,以及一些其他ES6+的新特性。这导致在IE11中无法正确运行这些代码。
解决这个问题的方法是使用Babel的插件来转译这些语法。具体来说,你可以使用"@babel/preset-env"插件来指定需要转译的目标浏览器版本,包括IE11。同时,你还需要安装"core-js"库来提供Promise和Fetch的polyfill。
以下是一种可能的配置方式:
npm install --save-dev @babel/preset-env core-js
.babelrc
文件,并添加以下内容:{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"ie": "11"
},
"useBuiltIns": "usage",
"corejs": 3
}
]
]
}
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
}
这样配置之后,Babel会将你的代码转译为兼容IE11的版本,并自动引入所需的polyfill。
关于Babel和相关概念的更多信息,你可以参考腾讯云的产品介绍链接地址:Babel 7产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云