1

TL;DR:我想做与https://github.com/nolanlawson/optimize-js相同的事情,但是esprima当我使用estraverse.

ESPrima 为以下代码提供相同的输出节点:

!function (){}()

!(function (){})()

http://esprima.org/demo/parse.html?code=!function%20()%7B%7D()%0A%0A!(function%20()%7B%7D)()

例如 - 我将遍历 AST 树。在 Function Expression ExpressionStatement 节点上,我想检查 - 如果该节点没有围绕函数的括号 - 我想添加它。

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

4

1 回答 1

1

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

于 2016-10-11T12:00:28.813 回答