JSDoc:模块和命名空间之间的关系是什么

asp*_*sen 6 javascript module jsdoc javascript-namespaces jsdoc3

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

/**
 * @namespace Game
 */

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

/**
 * Create a matrix
 * @constructor
 */
function Matrix(){}
Run Code Online (Sandbox Code Playgroud)

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

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

/**
 * Create Dictionary
 * @memberOf Game.utils
 * @constructor
 */
function Dictionary(){}
Run Code Online (Sandbox Code Playgroud)

问题是:记录命名空间和模块的正确方法是什么?每个命名空间和模块的用例是什么?

SGD*_*SGD 6

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

/**
 * @namespace Game
 * @property {module:utils} utils
 */

/**
* @module utils
*/

/**
 * Create a matrix
 * @class
 */
function Matrix(){}
Run Code Online (Sandbox Code Playgroud)