我在理解联合中命名空间和模块的目的时遇到了问题。例如,我有一个班级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
1}}名称空间前缀,如果我按照Game
链接,它不包含utils
模块链接。
此外,我无法在此模块中添加另一个类,因为此类未显示在utils
模块选项卡中:
/**
* Create Dictionary
* @memberOf Game.utils
* @constructor
*/
function Dictionary(){}
问题是:记录命名空间和模块的正确方法是什么?每个命名空间和模块的用例是什么?
答案 0 :(得分:4)
我玩了一下,我想在名称空间中使用模块有点棘手。对我有用的是定义一个模块utils
和一个引用它的命名空间。该模块名为utils
但不是Game.utils
,而是Game
,您可以看到链接到该模块的属性。
/**
* @namespace Game
* @property {module:utils} utils
*/
/**
* @module utils
*/
/**
* Create a matrix
* @class
*/
function Matrix(){}