我在理解联合中命名空间和模块的目的时遇到了问题.例如,我有一个班级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)
问题是:记录命名空间和模块的正确方法是什么?每个命名空间和模块的用例是什么?
我正在记录我自己的 JS 库,并且偶然发现了 lodash 库(https://lodash.com/docs/4.17.4)。
它的文档有一个带有类别(数组、集合等)的侧边栏,每个都有功能的文档。
我希望我的文档使用最新的 JSDoc 版本具有类似的结构。
经过调查,我找不到 lodash 使用的 jsdoc 模板。我也找不到类似的功能,也找不到如何使用 JSDOC 复制它。