尽管对JSDoc来说是新手,但我得到了我想要的95%的东西,因此,并不是太破旧。但是,我有一个真正的症结所在:我的 static 类方法未在HTML输出中按字母顺序排序。这是NodeJS中使用的CommonJS模块。
是的,我正在使用配置文件,是的,我打开了“排序”,是的,我已经证明排序正在正在执行某事:>
// jsdoc.config.js
'use strict';
module.exports = {
source: {
include: ['src/delme.js', 'README.md']
},
sourceType: 'module',
plugins: ['plugins/markdown'],
opts: {
encoding: 'utf8',
destination: 'docs',
recurse: false,
sort: true
}
};
// module.js
/**
* This CommonJS module exposes a main Account class
* @module AccountModule
* @see module:AccountModule
*/
/**
* @memberof module:AccountModule
*/
class Account {
/** should be the third method, but its actually the fourth */
ccc() {}
/** should be the second method, but its actually the third */
bbb() {}
/**
* should be the first method, but its actually the second.
* CHANGE THIS METHOD TO 'STATIC' AND IT GOES TO THE TOP OF THE ORDER
*/
aaa() {}
/** should be the fourth method, BUT IT IS FIRST!! */
static async exists() {}
}
module.exports = {Account};
我说排序是有效的,因为我有意颠倒了代码中的方法,但是在{{1} } 方法。不幸的是,exists
方法而不是exists
排在列表的顶部。上面的代码在HTML文档中产生aaa
,exists
,aaa
,bbb
的顺序。因此,当排序正在进行 something 时,还不是100%正确。
现在,ccc
方法与其他三种方法之间显然存在两个区别。 exists
方法同时声明为exists
和async
。因此,我反复尝试了一下,看看是否可以将static
放在列表的顶部,并发现aaa
声明没有任何作用。但是,有async
声明。如果我将static
添加到static
类中,则顺序将变为aaa
,aaa
,exists
,bbb
。
所以我的问题是双重的:1)有人可以解释为什么ccc
方法被不同地排序,以及2)有没有一种方法可以得到我需要的行为,即按名称对所有方法进行排序而无需关于任何异步或静态声明? 一如既往地谢谢您!