首页 > 解决方案 > Babel (@babel/types) JSDoc ast,打字在哪里?

问题描述

查看 AST explorer,JSDoc 注释被解析成一个很好的特定领域的 AST。例子:

https://astexplorer.net/#/gist/72b1e9eb9b8e91a5bcf0af8eb281788c/c6944194a73654cf234ad79a004558ca8e67e286

所以下面的代码:

/**
 * @mytag Test comment
 */
const X = 1

看起来像这样解析:

VariableStatement
|- declarationList... (irrelevant)
|- jsDoc
   |- JSDocComment
      |- tags
         |-JSDocCommentTag

现在在包@babel/types中没有 jsDoc 节点的工厂,也没有 ast 节点有像 astexplorer.net 上的 jsDoc 字段

这是什么情况?我想用 JSDoc 标签构造 ast 节点。打字+工厂是否分开包装?

标签: babeljsabstract-syntax-treejsdoc

解决方案


ASTExplorer 链接启用了 Typescript 解析器,而不是 Babel 的。Typescript 解析 JSDoc 注释,因为 Typescript允许您将 JSDoc 注释用于 types


推荐阅读