如何在JSDoc中引用模块的类?

时间:2019-02-20 20:08:16

标签: javascript documentation jsdoc

如JSDoc文档中的@type标签所述;

  

通过使用下面描述的一种格式提供类型表达式来指定每种类型。适当时,JSDoc 将自动创建指向其他符号文档的链接。例如,@type {MyClass}将链接到MyClass文档,如果该符号已被记录。

一个例子:

A.js:

/**
 * Class A. 
 */
class A {
    /**
     * Create a new instance of class A.
     */
    constructor(name) {
        /** @member {string} */
        this.name = name;
    }
}

module.exports = A;

B.js:

const A = require('./A.js');

/**
 * My function B.
 * @returns {A} A person.
 */
function myFuncB(n) {
    /** @type {A} */
    let i = new A(n);
    return i;
}

常规行为:

在JSDoc生成的文档中,此函数的返回类型(myFuncB(n) -> {A})将显示为,并将链接到Class A (链接默认情况下以蓝色突出显示,而JSDoc默认)模板)。

有经验的行为:

但是,如果将类A显式设置为模块的成员,则不是这种情况:

A.js:

/**
 * Class A. 
 * @memberof module:myModels/myModuleName
 */
class A {
    /**
     * Create a new instance of class A.
     */
    constructor(name) {
        /** @member {string} */
        this.name = name;
    }
}

module.exports = A;

(假设模块存在)

现在,在 B.js 中, A 的显示类型为any,此外,该函数不再链接到类A:{ {1}},但没有链接。 (“ A”不包含指向其班级文档的链接,并且未突出显示为蓝色)

我必须指定类的模块吗?为什么到A类的链接消失了?

0 个答案:

没有答案