polyfill 会把 promise、async/await转换成兼容的语法。 webpack 5 为了优化打包速度,移除了 polfill ,如果需要用到 polyfill ,需要单独配置。babel 中包含了 polyfill,7.4.0 开始已经弃用,取而代之的 core-js 和 egenerator-runtime。需要安装 dependency 而不是 devDependency。
// babel.config.jsmodule.exports = {presets: [['@babel/preset-env',{// usage 可配置值// false: 不对当前的JS处理做 polyfill 的填充// usage: 依据用户源代码当中所使用到的新语法进行填充// entry: 依据我们当前筛选出来的浏览器决定填充什么useBuiltIns: 'usage',corejs:3 // 如果安装的 core-js 是 版本3,需要在这里指定,因为默认是使用 2}]]}
