【问题标题】:JSDoc: What is a relationship between modules and namespacesJSDoc:模块和命名空间之间的关系是什么
【发布时间】:2015-06-10 18:21:25
【问题描述】:

我在理解联合中命名空间和模块的用途时遇到了问题。例如我有一个班级Game.utils.Matrix。我想将Game 注释为命名空间,将utils 注释为模块,将Matrix 注释为类:

/**
 * @namespace Game
 */

/**
 * @module utils
 * @memberOf Game
 */

/**
 * Create a matrix
 * @constructor
 */
function Matrix(){}

它创建了一个文档,Matrix 类的名称路径是 Game.utils~ Matrix,但是如果我遵循 Module 链接,它的名称路径是 Module: utils,没有 Game 命名空间前缀,如果我遵循Game 链接不包含 utils 模块链接。

此外,我无法向该模块添加其他类,因为该类未显示在 utils 模块选项卡中:

/**
 * Create Dictionary
 * @memberOf Game.utils
 * @constructor
 */
function Dictionary(){}

问题是:记录命名空间和模块的正确方法是什么?它们各自的用例是什么?

【问题讨论】:

    标签: javascript module jsdoc javascript-namespaces jsdoc3


    【解决方案1】:

    我玩了一下,我想在命名空间中包含模块有点棘手。对我有用的是定义一个模块utils 和一个引用它的命名空间。该模块称为utils,但不是Game.utils,而是Game,您可以看到一个链接到它的属性。

    /**
     * @namespace Game
     * @property {module:utils} utils
     */
    
    /**
    * @module utils
    */
    
    /**
     * Create a matrix
     * @class
     */
    function Matrix(){}
    

    【讨论】:

    • 感谢您看这个有点颠倒。我试图用一个点来记录一个命名空间,但是点后面的对象当然是父命名空间的一个属性。
    猜你喜欢
    • 2020-12-16
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多