@babel/polyfill
    该模块包括核心JS(core-js/stable)和一个定制的再生器运行时,以模拟完整的ES2015+环境
    {
    “present”: [
    [
    “@babel/env”,
    {
    “targets”: {
    “edge”: “17”,
    “chrome”: “67”
    },
    “useBuiltIns”: “usage”
    }
    ]
    ]
    }
    使用env预设,它有一个”useBuiltIns”选项,当设置为”usage”时,实际上将应用上面提到的最后一个优化,您只需要包括所需的polyfill
    总结: 使用@babel/cli 从终端中运行Babel,使用@babel/polyfill来填充所有新的JavaScript功能,并且使用env预设仅包含我们使用的功能以及目标浏览器中缺少的转换和polyfill
    安装插件允许Babel解析(parse)特定类型的语法
    注意: 转换插件会自动启动语法插件。因此,已经使用了相应的转换插件,则不需要指定语法插件
    如果插件在npm上,可以输入插件的名称,babel会自动检查它是否安装到了node_modules目录下
    {
    “plugins”: [“babel-plugin-myPlugin”],
    // 指定相对目录
    “plugins”:[“./node_modules/asdf/plugin”]
    }
    Present 的拍列顺序
    Present 是逆序排列(从后往前)
    {
    “preents”: [
    “a”,
    “b”,
    “c”
    ]
    }
    执行顺序 c->b->a
    目的是为了确保向后兼容,大多数用户将”es2015”放在”stage-0”之前
    babel模块的释义
    @babel/core Babel核心库,包含Babel的核心功能
    @babel/cli 命令行工具,使用它从终端运行Babel
    @babel/env present 一组预设的核心插件库,只对我们所使用目标浏览器中缺失的功能进行转换和加载polyfill
    @babel/polyfill 用来模拟所有新的JavaScript功能(垫片)