您的当前位置:首页正文

一文带你了解babel-preset-env

来源:图艺博知识网

相信很多人都和我一样,刚接触babel的时候都是使用 babel-preset-es2015 这个预设套餐的,但是显然目前而言 babel-preset-env 会是一个更好的选择,babel-preset-env 可以根据配置的目标浏览器或者运行环境来自动将ES2015+的代码转换为es5。

{
    "presets": [
        ["@babel/preset-env"
            "targets": {
                "esmodules": true
            }
        ]
    ]
}

同样也可以指定Node.js的版本:

{
    "presets": [
        ["@babel/preset-env"
            "targets": {
                "node": "6.10"
            }
        ]
    ]
}

如果node的选项值为 current 则说明是指定运行时的node.js版本。

{
    "presets": [
        ["@babel/preset-env"
            "targets": {
                "node": "current"
            }
        ]
    ]
}

babel-preset-env 的主要参数选项有:

  • targets

  • targets.node

  • targets.browsers

  • spec : 启用更符合规范的转换,但速度会更慢,默认为 false

  • loose:是否使用 loose mode,默认为 false

  • modules:将 ES6 module 转换为其他模块规范,可选 "adm" | "umd" | "systemjs" | "commonjs" | "cjs" | false,默认为 false

  • debug:启用debug,默认 false

  • include:一个包含使用的 plugins 的数组

  • exclude:一个包含不使用的 plugins 的数组

  • useBuiltIns:为 polyfills 应用 @babel/preset-env ,可选 "usage" | "entry" | false,默认为 false

Refs:

Top