JSDoc 生成文档中的分组函数

Grouping Functions In JSDoc Generated Documentation

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

例如,给定以下文件……

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

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

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

...我应该如何使用jsdoc注释来确保三个函数在文档中被分组在'Example'下?

我曾尝试在 class 的顶部定义一个模块:/** @module Example */ 但是尽管这会在文档中生成一个名为 'Example' 的项目,但函数并没有分组在它下面.

我试过在各个函数的文档中添加@memberof Example,但是没有效果。

我知道 this question, but it doesn't work for me, possibly because of the ES6 imports. There is no mention of its use with @module in the docs

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

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

我认为你需要这样使用@module

/** @module myModule */

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

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

如所述here

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

/** @module Example **/

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

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