@babel/traverse 使用方法小记
2019-10-10 13:55 罗小二 阅读(8721) 评论(0) 收藏 举报@babel/traverse
官网: https://babeljs.io/docs/en/babel-traverse
github:https://github.com/babel/babel/blob/master/packages/babel-traverse/test/traverse.js
了解一个东西最直接的方法就是看官网了解怎么用,看github源码Test模块代码的使用和测试。
@babel/traverse 可以用来遍历更新@babel/parser生成的AST
-
对语法树中特定的节点进行操作(特殊节点的函数) -
进入节点(enter) -
退出节点 (exit)
traverse(ast, { CallExpression(p) { // 对语法树中特定的节点进行操作 参考@babel/types (特定节点类型) // CallExpression 特定节点 }, FunctionDeclaration: function(path) { // 对语法树中特定的节点进行操作 参考@babel/types (特定节点类型) // FunctionDeclaration 特定节点 } // ..... enter(path) { // 进入节点 if (path.node.type === "ThisExpression") { // 对所有的操作 }; } exit(path) { // 退出节点 console.log(` exit ${path.type}(${path.key})`) } })
浙公网安备 33010602011771号