2013-04-04 3 views
1

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

Am с помощью следующей команды

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

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

ответ

4

Я не знаю, как ваши классы выглядят, но вот пример того, как комментировать модуль 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 
      } 
     } 
    ); 
}); 

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

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

0

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

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