Почему JSDoc объединяет комментарии ко всем модулям JS в одном файле?

У меня есть несколько файлов JS (модули AMD) в каталоге. Когда я запускаю команду jsdoc, она генерирует файл index.html, в котором есть комментарии к документам для всех методов во всех файлах. Почему это все методы в одном файле?

Использую следующую команду

jsdoc D:\JSworks\shell\widgets -r -d D:\output

Я хочу, чтобы index.html имел ссылки на каждый модуль, щелкнув по которому он должен показать документы для методов только этого конкретного модуля. Как мне этого добиться?

2 ответа

Решение

Я не знаю, как выглядят ваши классы, но вот пример того, как комментировать модуль AMD, чтобы JSDoc правильно генерировал документацию для него:

/**
 * A Model for users
 * @module  UserModel
 * @exports UserModel
 * @extends AbstractModel
 */

define(["model/AbstractModel"], 
function(AbstractModel ) {

    return UserModel = new Class(
        /** @lends module:UserModel */
        {
            Extends : AbstractModel,

            /**
             * Constructor
             * @memberOf module:UserModel#
             */

            initialize: function() {
                this.parent();
            },

            /**
             * Sets the model value
             * @memberOf module:UserModel#
             * @param {object} value Value to set the model to           
             */

             setValue: function(value){
                // do something
             }

            /**
             * Responsible for returning user metadata
             * @memberOf module:UserModel#
             * @param {object} user User
             */

            getMetaData: function(user) {
                // do something
            }
        }
    );
});

Этот класс будет генерировать следующую документацию:

Полный список тегов для использования в JSDOC доступен по адресу http://usejsdoc.org/index.html

Вы также можете добавить модель @require /AbstractModel (см. Предыдущий ответ) и @require для всех ваших зависимостей AMD.

я думаю, что аннотация @lends не подходит в новом классе ().

Другие вопросы по тегам