AST的概念
AST(抽象语法树),一般来讲,就是一段可执行代码的语法结构描述——描述的方式是将语法具象为tree型数据结构(一般都以JSON结构显示)。
你可以狭义理解为 AST 就是 将一段代码解析成的JSON数据结构。
推荐 新人玩的JS to AST 转换工具: babel-template
实际上,AST解析工具市面上有很多很多,而babel-template的文档并不友好。但 这个包前缀名是babel —— 所以我想不需要其他理由了吧。
安装方式
npm install --save-dev babel-template
使用方式 ```javascript // nodejs version > 8.4.0 // demo.js const template = require(‘babel-template’);
const code = function fn(){
console.log(1);
}
const astCreator = template(code);
const ast = astCreator({ // …可以设置对应参数 })
console.log(JSON.stringify(ast,null,4));
// node ./demo.js
```