一、认识
jscodeshift
的底层实现依赖以下三个库:
-
Babel Parser
:解析 JavaScript
代码,支持现代 JavaScript
语法。
-
AST Types
:定义了代码节点类型和操作接口,用于描述和遍历 AST
。
-
Recast
:解析、修改、再生成代码,并在生成代码时保留格式和注释。
二、工作流
-
使用 Babel
解析代码为 AST
。
-
使用 AST Types
提供的 API
遍历和修改 AST
节点。
-
使用 Recast
将修改后的 AST
转换回代码,同时保留原始格式和注释。