webpack(五)之polyfill

在webpack中,babel只能转换新的语法,如将es6转为es5,jsx转为js等,但但是无法处理新的api,如promise等,这时候就需要依赖polyfill。

polyfill可以理解为补丁的意思,用于实现浏览器不支持的原生的api代码。

polyfill的使用:

1.babel7.4之后,单独引入core-js和regenerator-runtime来使用

2.配置babel.config.js

preset: [
    ["@babel/preset-env", {
        useBuiltIns: "usage"'
        corejs: 3.8
    }]
]

useBuiltIns有三个属性值

false : 打包的文件不需要polyfill来进行适配

usage : 根据源代码中出现的语言特性,自动检测所需要的polyfill,设置corejs属性来确定使用corejs的版本

entry : 当我们依赖的某个库本身就用了polyfill,如果使用usage可能会导致浏览器报错,这时候就可以使用entry,并且入口文件处添加

import ‘core-js/stable’;
import 'regenerator-runtime/runtime';

 

posted @ 2021-07-18 11:27  皮皮溪  阅读(1402)  评论(0编辑  收藏  举报