本文介绍一个babel转码神器babel-preset-env
简介
现如今不同的浏览器和平台chrome, opera, edge, firefox, safari, ie, ios, android, node, electron
不同的模块 "amd" , "umd" , "systemjs" , "commonjs"
这些es运行环境对es6,es7,es8支持不一,有的支持好,有的支持差,为了充分发挥新版es的特性,我们需要在特定的平台上执行特定的
转码规则,说白了就像是按需转码的意思
1.安装
npm install --save-dev babel-preset-env
2.使用
1.在babel配置文件中
{
"presets": ["env"]
}
上面这个配置的作用和babel-prset-latest的作用一致也就是下面这个配置
{
"presets": ["latest"]
}
2.babel-preset-env可以设置一些选项,这里就介绍几种,有兴趣自己去看英文文档
targets 指定运行环境
targets.node 指定node版本
targets.browsers 指定浏览器版本
modules 指定何种形式的模块,设置为false表示不转码模块
具体配置书写方式如下
{
"presets": [
["env",{
"targets": {
"chrome": 52,
"browsers": ["last 2 versions","safari 7"]
}
}]
]
}