You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从JSDoc注释导出结构化JS/JSON数据的标准方法

可用实现方案

完全可以,不用依赖JSDoc默认的HTML导出能力,有非常直接的方式拿到结构化的注释数据:

  • 构建阶段解析(推荐,性能最好)
    直接调用JSDoc官方的Node API,跳过HTML生成步骤,直接输出结构化的JS对象,只需要几行代码:
    const jsdoc = require('jsdoc-api');
    // 传入要解析的目标JS文件路径,同步拿到解析结果
    const parsedDocs = jsdoc.explainSync({
      files: ['./path/to/your/code.js']
    });
    
    返回的parsedDocs是标准对象数组,每个对象对应一个JSDoc注释块,自动拆分好description(描述文本)、params(参数定义)、properties(属性定义)、returns(返回值定义)、examples(示例代码)等所有你写在JSDoc标签里的内容,你可以直接按标识符(变量名、属性名、方法名)做索引,存成JSON文件供前端UI调用,鼠标悬停时直接按对应key取内容渲染即可。
  • 运行时轻量解析(适合需要在浏览器端实时解析的场景)
    如果需要在前端直接解析加载的脚本注释,可以用comment-parser这个轻量库,没有多余依赖,只做JSDoc注释块的结构化提取,体积很小,不会引入JSDoc全量包的冗余代码,解析出来的结构和官方JSDoc输出基本一致,可以直接用。

注意:不要自己写正则匹配JSDoc注释,JSDoc支持多行描述、嵌套类型、可选参数、默认值、联合类型等复杂写法,正则很难覆盖所有边界情况,很容易出现解析错误,用成熟的解析库成本极低,稳定性好很多。
如果是做悬停提示类的交互,优先在构建阶段把解析好的注释数据处理成键值对映射,运行时直接查表拿数据,比实时解析源码性能高一个量级。

内容的提问来源于stack exchange,提问作者Damon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 08:33:12