简介
本文介绍一个babel转码神器babel-preset-env
现如今不同的浏览器和平台chrome, opera,edge, firefox, safari, ie, ios, android, node, electron不同的模块"amd","umd","systemjs","commonjs"这些es运行环境对es6,es7,es8支持不一,有的支持好,有的支持差,为了充分发挥新版es的特性,我们需要在特定的平台上执行特定的转码规则,说白了就像是按需转码的意思
安装
npminstall--save-dev babel-preset-env
使用
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"] }
}]
]}