Документирование класса в модуле AMD с помощью JSDoc 3

Я пытаюсь документировать класс в модуле AMD JavaScript с помощью JSDoc 3. Вот мой код, основанный на примере в документации здесь:

/**
 * A module representing a jacket.
 * @module my/jacket
 */
define('my/jacket', function() {
  /**
   * @class
   * @alias module:my/jacket
   */
  function Jacket() {
  }

  /**
   * Open and close your Jacket.
   */
  Jacket.prototype.zip = function() {
  };

  return Jacket;
});

Вывод, который это производит, выглядит следующим образом:

Класс: модуль: мой / куртка

Модуль: моя / куртка

new module:my/jacket()

но я бы хотел это прочитать:

Класс: куртка

Пиджак

new Jacket()

Есть ли способ сделать это? Я использую jsdoc 3.4.1.

Я пытался изменить @class в @class Jacket, который почти работает: класс появляется с правильным именем, но документация zip метод не генерируется.

1 ответ

Решение

Решение состояло в том, чтобы установить имя класса (функции), используя @alias тег вместо имени модуля:

/**
 * A module representing a jacket.
 * @module my/jacket
 */
define('my/jacket', function() {
  /**
   * @class
   * @alias Jacket
   */
  function Jacket() {
  }

  /**
   * Open and close your Jacket.
   */
  Jacket.prototype.zip = function() {
  };

  return Jacket;
});

Это дает желаемый результат:

Класс: куртка

Пиджак

new module:Jacket()

вместе с zip методическая документация.

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