我在尝试查找最近函数,类或变量名称的代码中使用babel-traverse
。有时候函数名称只有一步之遥,比如var foo = function() {}
,还有函数直接命名为function foo() {}
的情况。
我希望拥有类似我当前代码的内容:
node.traverse({
ClassDeclaration: function (path) {
comment.kind = 'class';
path.stop();
},
Function: visitFunction,
FunctionExpression: visitFunction,
ArrowFunctionExpression: visitFunction,
TypeAlias: function (path) {
comment.kind = 'typedef';
path.stop();
},
VariableDeclaration: function (path) {
if (path.node.kind === 'const') {
comment.kind = 'constant';
path.stop();
}
}
});
但是要调用traverse
将node
本身包含在第一个遍历传递中。有没有办法做到这一点?