带有松散扩充模块的JSDoc无法解析某些项目

时间:2017-01-11 21:29:24

标签: javascript module documentation-generation jsdoc code-documentation

为使用松散扩充的模块添加jsdoc文档的正确方法是什么?或者我只是错误地设置我的实现?我最终希望我的共享成员能够被收录在我的最终文档中。

我正在尝试在我使用松散扩充模型(as described here)创建的模块上使用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标签 - 但是一些测试和搜索让我无处可去。

我的JSDOC 3.4.3输出是:Not awesome JSDOC output

1 个答案:

答案 0 :(得分:1)

更多地使用它,添加标签 @memberof 似乎给了我预期的文档结果:

 /**
 * These awesome things are now parsing as I expected.
 * @memberof module:awesomeModuleToDocument
 * @alias module:awesomeModuleToDocument.publicThingsThatAreAwesome
 * @readonly
 * @enum
 */
_moduleReturnObject.publicThingsThatAreAwesome = {...}

然而,我想还有一个更好的"更好的"这种方式。