' esprima ' AST树:如何轻松检测和添加函数父级



TL;DR:我想做同样的事情https://github.com/nolanlawson/optimize-js但与esprima当我遍历AST树与estraverse

ESPrima给出以下代码相同的输出节点:

!function (){}()

!(function (){})()

http://esprima.org/demo/parse.html?code= ! % 20()函数% 7 b % 7 d () % 0 a % 0 !(函数% 20 ()% 7 b % 7 d) ()

例如- i将遍历AST树。在函数表达式表达式声明节点上,我想检查-如果该节点在函数周围没有父节点-我想添加它。

那么,我如何检测函数父级,我如何添加它们?我查看令牌,但我不知道如何将平面令牌对象与指定AST节点的对象关联。

似乎这不是esprima的任务,而是escodegen的任务https://github.com/estools/escodegen/issues/315

最新更新