如何让JSDoc使用指定类名而非构造函数名生成类文档及链接?
解决JSDoc工厂函数类名显示异常问题
核心解决方案
通过@class定义真实类名,配合@constructs关联工厂函数,再用@returns明确返回类型,无需重命名函数或给每个成员加@memberof标签:
/** * 创建Example实例的工厂函数 * @returns {Example} 返回Example类的实例 * @constructs Example */ const createExample = () => { /** * @class Example * @classdesc 这是真实的Example类,用于展示业务逻辑 */ return { /** * 执行核心操作的方法 */ doSomething() { // 业务逻辑代码 }, /** * 示例属性 * @type {string} */ demoProp: 'sample value' }; };
标签作用说明
@class Example:标记返回对象对应的真实类名,JSDoc会以此作为文档中的类名展示@constructs Example:将工厂函数createExample关联为Example类的构造入口,让JSDoc识别到调用该函数会生成Example实例@returns {Example}:明确工厂函数的返回类型,确保类内部的方法、属性自动归属到Example类下,无需逐个添加归属标签
效果验证
生成的文档会呈现以下正确状态:
- 类名显示为
Example而非createExample - 类的成员方法、属性会自动关联到
Example类,内部成员的跳转链接也会指向Example的类文档
内容的提问来源于stack exchange,提问作者Jamesyboy1994
相关产品推荐
相关产品推荐

