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

问题描述:

我在理解联合中名称空间和模块的用途时遇到了一个问题。例如,我有一个类Game.utils.Matrix。我想注释Game为命名空间,utils作为一个模块和Matrix为一类:JSDoc:模块和名称空间之间的关系是什么

/** 
* @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(){} 

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

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

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

/** 
* @module utils 
*/ 

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