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);
原文地址:https://www.cnblogs.com/lyraLee/p/12490077.html