Spec-Zone.ru › JSDoc

@module

Содержание

  • Синтаксис
  • Обзор
  • Примеры
  • Связанные ссылки

Синтаксис

@module [[{<type>}] <moduleName>]

В JSDoc 3.3.0 и более поздних версиях, <moduleName> может включать префикс module:. В предыдущих версиях этот префикс необходимо опустить.

Примечание: Если вы предоставляете тип, вы обязательно должны предоставить и имя.

Обзор

Тег @module отмечает текущий файл как отдельный модуль. Все символы в файле предполагаются членами модуля, если не указано иное.

Ссылка на модуль (например, в тегах @link или @see) использует "module:имяМодуля". Например, "@module foo/bar" можно связать с помощью "{@link module:foo/bar}".

Если имя модуля не указано, оно выводится из пути и имени файла модуля. Например, предположим, что у меня есть файл test.js, расположенный в каталоге src, содержащий блок комментариев /** @module */. Вот несколько сценариев запуска JSDoc и полученных имён модулей для test.js:

Выведенные имена модулей, если они не указаны.
# from src/
jsdoc ./test.js   # module name 'test'

# from src's parent directory:
jsdoc src/test.js # module name 'src/test'
jsdoc -r src/     # module name 'test'

Примеры

Следующий пример демонстрирует пути имён, используемые для символов в модуле. Первый символ — это модульно-частная, или «внутренняя», переменная — к ней можно получить доступ только внутри модуля. Второй символ — это статическая функция, экспортируемая модулем.

Базовое использование @module
/** @module myModule */

/** will be module:myModule~foo */
var foo = 1;

/** will be module:myModule.bar */
var bar = function() {};

Когда экспортируемый символ определён как член module.exports, exports, или this, JSDoc выводит, что символ является статическим членом модуля.

В следующем примере класс Book документирован как статический член "module:bookshelf.Book", с одним экземпляром-членом "module:bookshelf.Book#title".

Определение экспортируемых символов как членов 'this'
/** @module bookshelf */
/** @class */
this.Book = function (title) {
    /** The title. */
    this.title = title;
};

В следующем примере две функции имеют пути имён "module:color/mixer.blend" и "module:color/mixer.darken".

Определение экспортируемых символов как членов 'module.exports' или 'exports'
/** @module color/mixer */
module.exports = {
    /** Blend two colours together. */
    blend: function (color1, color2) {}
};
/** Darkens a color. */
exports.darken = function (color, shade) {};

См. Документирование JavaScript-модулей для дополнительных примеров.

Связанные ссылки

  • @exports
  • Модули CommonJS
  • Модули AMD

© 2011–2017 the contributors to the JSDoc 3 documentation project
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://jsdoc.app/tags-module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API