Babel 是一个 JavaScript 的静态分析编译器,所谓静态分析指的是在不需要执行代码的前提下对代码进行分析和处理的过程(执行时进行代码分析叫动态分析)。要实现 Babel 从一个语法转换成另外一个语法,需要经过三个主要步骤:解析(Parse),转换(Transform),生成(Generate)。

Tips:Babel 的语法解析器 Babylon 目前已经放到 @babel/parser 维护,除了 Babylon, JavaScript 解析器比较著名的还有 acorn、Esprima。