一、介绍
Babel是js的编译工具,负责将高版本的js转化为浏览器能够识别兼容的、低版本的js。
其工作流程为解析、转换、输出。基本流程如下:
解析:将我们写的代码通过词法解析和语法解析转成语法树AST; 转换:使用预设和插件将原AST转为目标AST; 输出:将新得到的AST输出为代码。
二、Babel现状
Babel家族主要由Babel-core在编译时工作,负责代码解析、转换等主要工作,将高版本的语法转化为低版本的语法,例如将箭头函数转为普通函数的表达;由core-js弥补低版本js中不存在的、新提案的API,其强大之处在于可以按需引入,如引入Promise的实现等。