官方实现
2023年06月11日
一、认识
Babel
的解析和遍历模块使用 JavaScript
编写,核心设计基于抽象语法树(AST
)的生成和操作。
-
@babel/parser
基于Acorn
的解析器,它会将源代码字符串解析为JavaScript AST
,同时支持ECMAScript
最新标准。解析过程会将源代码的词法和语法结构转化为树状结构,并添加类型标记、位置等辅助信息。 -
@babel/traverse
使用Visitor
模式来访问AST
中的每个节点。它允许在遍历过程中对节点进行修改、替换或删除。@babel/traverse
会确保在AST
修改后节点的正确顺序和语法结构完整性。