@use JSDoc

語法

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

在 JSDoc 3.3.0 及更新版本中,<moduleName> 可以包含 module: 前綴。在先前版本中,您必須省略此前綴。

注意:如果您提供類型,您必須同時提供名稱。

概述

@module 標籤標記目前的檔案為其自己的模組。除非另有說明,否則檔案中的所有符號都假設為模組的成員。

使用「module:moduleName」連結到模組(例如在 @link@see 標籤中)。例如,「@module foo/bar」可以使用「{@link module:foo/bar}」連結。

如果未提供模組名稱,則會從模組的路徑和檔名中衍生。例如,假設我有一個位於 src 目錄中的檔案 test.js,其中包含區塊註解 /** @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.exportsexportsthis 的成員時,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 模組 以取得更多範例。