0

我如何遍历评论babelTraverse

babelTraverse(nodes, {
  CommentBlock: (path) => {
    console.log(path)
  },
  CommentLine: (path) => { 
    console.log(path)
  }
})

错误:您为我们提供了节点类型 CommentBlock 的访问者,但它不是有效类型

4

2 回答 2

2

CommentBlockCommentLine不是babel 解析器返回的 的program.body一部分。ast这些注释类型位于程序主体之外。我假设这就是为什么我们在添加CommentLineand时得到类型错误的原因CommentBlock

可以使用 访问节点的注释traverse,如下所示:

traverse(ast, {
  ClassDeclaration(path) {
    console.log(path.node.leadingComments);
    console.log(path.node.trailingComments);
  },
});
于 2020-05-25T17:56:18.897 回答
1

似乎您无法以这种方式遍历,但您可以通过以下方式访问评论:

nodes.comments

于 2020-04-17T03:58:55.353 回答