Использование babel traverse для получения комментариев в AST
Как просматривать комментарии с помощью babelTraverse
?
babelTraverse(nodes, {
CommentBlock: (path) => {
console.log(path)
},
CommentLine: (path) => {
console.log(path)
}
})
Ошибка: вы указали нам посетителя для узла типа CommentBlock, но это недопустимый тип
2 ответа
В CommentBlock
а также CommentLine
не являются частью program.body
в ast
возвращается синтаксическим анализатором babel. Эти типы комментариев существуют вне тела программы. Я предполагаю, что именно поэтому мы получаем ошибку типа при добавленииCommentLine
а также CommentBlock
.
Комментарии для узла можно получить, используя traverse
, следующим образом:
traverse(ast, {
ClassDeclaration(path) {
console.log(path.node.leadingComments);
console.log(path.node.trailingComments);
},
});
Похоже, вы не можете пройти по этому пути, но вы можете получить доступ к комментариям с помощью:
nodes.comments