在JSDoc生成的文档中对函数进行分组

时间:2017-09-27 17:59:36

标签: javascript comments jsdoc jsdoc3 documentationjs

我使用documentationjs(使用jsdoc)来处理我正在处理的lib的文档生成。我的lib编写的是ES6并且功能齐全,目前生成的文档是lib中所有模块的所有函数的字母顺序列表。这使得很难找到你想要的东西。我应该如何使用jsdoc注释,以便将一个文件中的函数组合在文档中?

例如,给定以下文件......

/**
 * Docs for alpha
 */
export const alpha = () {};

/**
 * Docs for beta
 */
export const beta = ()  {};

/**
 * Docs for charlie
 */
export const charlie = () {};

...我应该如何使用jsdoc注释来确保将三个函数组合在一起?'示例'在文档中?

我尝试在课程顶部定义一个模块:/** @module Example */但是这会生成一个名为'示例'在文档中,函数没有分组在它下面。

我尝试将@memberof Example添加到各个函数的文档中,但这没有效果。

我知道this问题,但它对我不起作用,可能是因为ES6导入。在the docs中没有提及它与@module的使用。

3 个答案:

答案 0 :(得分:1)

也许你现在可以尝试这种解决方法,直到jsdoc实现分组。

How to display Javascript methods in a 'group' in JSDOC?

答案 1 :(得分:1)

看来,documentationjs在其生成的文档中不支持JSDoc样式分组,但是,可以使用稍微不同的语法对函数进行分组。我通过试验和错误发现了这一点,因为文档(具有讽刺意味的是)糟糕的文档:

/** @module Example **/

/**
 * @memberof Example
 */
const alpha = () => {};

注意:@member参数没有module:前缀。

答案 2 :(得分:-1)

我认为您需要以这种方式使用@module

/** @module myModule */

/** will be module:myModule~foo */
var foo = 1;

/** will be module:myModule.bar */
var bar = function() {};

如上所述here