【问题标题】:How to reference a @class in another file with JSdoc?如何使用 JSdoc 在另一个文件中引用 @class?
【发布时间】:2017-02-28 19:54:19
【问题描述】:

例如MyClass.js

/**
 * @class
 * @name module:Bar
 * @param {number} a1
 * @param {string} a2
 */
function Bar(a1, a2){}

并且,在另一个文件中:

/** @type module:Bar.constructor */ // made up syntax
var Bar = require("./MyClass.js");

重新定义@class 可以,但不方便:

/**
 * @class
 * @name module:Bar
 * @param {number} a1
 * @param {string} a2
 */
var Bar = require("./MyClass.js");

我该怎么做?

【问题讨论】:

    标签: javascript jsdoc jsdoc3


    【解决方案1】:

    只有类名就足够了。

    /**
     * @type module:Bar
     */
    var Bar = require("./MyClass.js");
    

    您应该使用@alias 而不是@name

    警告:通过使用@name 标签,你是在告诉 JSDoc 忽略 围绕代码并单独处理您的文档注释。在 很多情况下,最好改用@alias 标签,这会改变 文档中的符号名称,但保留其他信息 关于符号。

    /**
     * @class
     * @alias module:Bar
     * @param {number} a1
     * @param {string} a2
     */
    function Bar(a1, a2){}
    

    【讨论】:

    • 引用 Bar 的实例,而不是 Bar 的构造函数
    • jsdoc 文档是如此晦涩难懂。我如何避免两次写@param's?
    • 没有其他方法可以这样做。您需要为每个参数键入一行,这与类成员的规则相同:usejsdoc.org/tags-member.html!
    • 是的,但我正在引用已经在其他地方定义的类/函数/任何东西。虽然似乎@alias 是我需要的
    猜你喜欢
    • 2018-09-24
    • 2018-10-24
    • 1970-01-01
    • 2023-04-10
    • 2012-10-08
    • 2011-03-04
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    相关资源
    最近更新 更多