Babel 配合 core-js 为啥没按预期 polyfill Promise?
我用 Babel + @babel/preset-env 搭配 core-js@3 做兼容处理,目标浏览器包括 IE11。明明代码里用了 Promise,但打包后没看到自动注入的 polyfill,IE11 直接报错“Promise 未定义”。我配置了 useBuiltIns: 'usage',也安装了 core-js,咋还是不行?
顺便贴一下我的 CSS,虽然应该没关系,但怕有啥隐藏影响:
.loading {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background: #f5f5f5;
}
在入口文件(一般是 main.js 或 index.js)最前面加上:
import 'core-js/stable';
然后 babel.config.js 要这样配:
module.exports = {
presets: [
['@babel/preset-env', {
useBuiltIns: 'usage',
corejs: 3
}]
]
};
还有,确保你装的是 core-js@3,别用错了版本。