为使用松散增强的模块添加 jsdoc 文档的正确方法是什么?或者我只是错误地设置了我的实现?我最终希望我的共享成员能够包含在我的最终文档中。
我正在尝试在使用松散增强模型创建的模块上使用 JSdoc(如此处所述)。该模块的结构如下:
/**
* @module awesomeModuleToDocument
* @description This module will make you awesome when setup and parsed correctly.
*/
var awseomeModuleToDocument = (function() {
var _moduleReturnObject = {};
/**
* These awesome things are not shared but do get parsed as expected.
* @alias module:awesomeModuleToDocument.privateThingsThatAreAwesome
* @readonly
* @enum
*/
var privateThingsThatAreAwesome = {
/** 0 */
'Unicorns' : 0,
/** 1 */
'Bigfoot' : 1
};
/**
* These awesome things are shared but do not get parsed as expected.
* @alias module:awesomeModuleToDocument.publicThingsThatAreAwesome
* @readonly
* @enum
*/
_moduleReturnObject.publicThingsThatAreAwesome = {
/** 0 */
'Beards' : 0,
/** 1 */
'Goats' : 1,
/** 2 */
'GoatBeards' : 2,
};
return _moduleReturnObject;
}(awseomeModuleToDocument || {}));
但是,当我在此代码上运行 jsdoc 时,我得到的输出包括 privateThingsThatAreAwesome 但不包括公共版本。此外,如果我取出私有枚举的 @alias 标签,我也不会在输出中看到它。
我的假设是,我在公共案例中没有正确使用@alias标签 - 但大量的测试和搜索却一无所获。
再多尝试一下,添加标签
@memberof
似乎给了我预期的文档结果:
/**
* These awesome things are now parsing as I expected.
* @memberof module:awesomeModuleToDocument
* @alias module:awesomeModuleToDocument.publicThingsThatAreAwesome
* @readonly
* @enum
*/
_moduleReturnObject.publicThingsThatAreAwesome = {...}
但是我想仍然有一种“更优选”的方式来解决这个问题。