babel 的作用是将高版本的代码转换成低版本的可支持的代码;
过程是 读取 source code 转换为语法树 -》 经过处理 -》 转换为 code;
babel有preset和plugin,有啥作用和区别呢?
babel的代码的转换处理是通过plugin转换的,多个plugin执行顺序是从上到下;
presets是plugin的集合,不需要挨个的去写plugin了;
- Plugin 会运行在 Preset 之前。
- Plugin 会从第一个开始顺序执行。ordering is first to last.
- Preset 的顺序则刚好相反(从最后一个逆序执行)。
babel的配置
是一个json结构,字段有presets和plugin ;
也支持env环境设置,是从process.env.BABEL_ENV 进行读取当前的环境变量,默认是development
{ "env": { "production": { "presets": ["env","react"] }, "development":{ "presets": [ "env", "react" ] } } }
待续。。。。。。