@babel/traverse 官網: https://babeljs.io/docs/en/babel-traverse github:https://github.com/babel/babel/blob/master/packages/babel-traverse/test/traverse. ...
@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
兩種使用方法
-
對語法書中特定的節點進行操作
-
對所有的操作
traverse(ast, { CallExpression(p) { // 對語法書中特定的節點進行操作 參考@babel/types (特定節點類型) // CallExpression 特定節點 }, FunctionDeclaration: function(path) { // 對語法書中特定的節點進行操作 參考@babel/types (特定節點類型) // FunctionDeclaration 特定節點 } // ..... enter(path) { if (path.node.type === "ThisExpression"){ // 對所有的操作 }; } })