Несмотря на то, что я новичок в JSDoc, я получаю 95% от того, что хочу, так что не слишком потертый.Однако у меня есть реальная проблема: мои методы класса static не сортируются по алфавиту в выводе HTML.Это модуль CommonJS для использования в NodeJS.
Да, я использую файл конфигурации, и да, у меня включена сортировка, и да, я доказал, что сортировка равна делает что-то :
// 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};
Я говорю, что сортировка работает , потому что я намеренно изменил методы в коде, но все же сортирует правильно в документах HTML КРОМЕ для метода exists
.К сожалению, метод exists
сортируется в верхней части списка вместо aaa
.Приведенный выше код создает порядок в документах HTML exists
, aaa
, bbb
, ccc
.Таким образом, пока сортировка выполняет что-то , это еще не на 100% правильно.
Теперь очевидно, что есть два различия между методом exists
и другими тремя методами.Метод exists
объявляется как async
и static
.Поэтому я применил метод проб и ошибок, чтобы посмотреть, смогу ли я получить aaa
в верхней части списка и обнаружил, что объявление async
ничего не делает.Тем не менее, объявление static
сделало.Если я добавлю static
к классу aaa
, порядок станет aaa
, exists
, bbb
, ccc
.
Так что мой вопрос двоякий: 1) может кто-то объяснить, почемуstatic
методы сортируются по-разному, и 2) есть ли способ получить нужное мне поведение, то есть отсортировать все методы по их именам без учета каких-либо асинхронных или статических объявлений? Спасибо, как всегда!