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

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

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

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

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


person aneez    schedule 04.04.2013    source источник


Ответы (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#JSDoc3_Tag_Dictionary

person Zabbala    schedule 26.04.2013

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

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

person herau    schedule 22.11.2013