AST
定义
- Abstract Syntax Tree : 抽象语法树
工作流程
- parse:把代码解析为AST。
- transform:对AST中的各个节点做相关操作,如新增、删除、替换、追加。业务开发 95%的代码都在这里。
- generator:把AST转换为代码。
实现
- Babel
- 由3个包来实现上面的工作流程,其中:
- @babel/parser : 复制将代码转化为 AST
- @babel/traverse : 处理 AST 中的 增删改查事务
- @babel/generator : 将 AST 重新转化为 代码