zf-6-ast(20天)

mac2025-07-16  13

1.js

let esprima = require(‘esprima’);//源代码转成AST语法树 let estraverse = require(‘estraverse’);//遍历语法树 let escodegen = require(‘escodegen’);//把AST语法树重新生成代码的工具 let sourceCode = ‘function ast(){}’; let ast = esprima.parse(sourceCode);//源代码转成AST语法树 let indent =0; function pad(){ return " ".repeat(indent); } estraverse.traverse(ast,{ enter(node){ console.log(pad()+node.type); indent+=2; }, leave(node){ indent-=2; console.log(pad()+node.type); } });

2.js
let babel = require('@babel/core'
最新回复(0)