AST

本质将源代码转为树状结构。测试网站

webpack使用acore

babel使用babylon7.0

自己实现可以通过:

  • esprima 将代码转为树状结构
  • estraverse 遍历树状结构(使用深度优先遍历)
  • escodegen 重新生成代码
let code =' function(){}';

let ast = esprima(code);
estraverse.traverse(ast, {
    enter(node) {
     //可修改
    },
    leave(node) {
    }
});

let r = esgencode.generate(ast);

 

posted @ 2020-03-14 00:06  Lyra李  阅读(139)  评论(0编辑  收藏  举报