@use JSDoc

同義詞

語法

@external <NameOfExternal>

概述

@external 標籤識別在目前套件外部定義的類別、命名空間或模組。透過使用此標籤,您可以記錄套件對外部符號的擴充,或者可以提供有關外部符號的資訊給套件使用者。您也可以在任何其他 JSDoc 標籤中參考外部符號的名稱路徑。

外部符號的名稱路徑總是使用前綴 external:(例如,{@link external:Foo}@augments external:Foo)。不過,您可以從 @external 標籤中省略此前綴。

注意:您應該只將 @external 標籤新增到在專案外部定義的最高層級符號。請參閱「記錄巢狀外部符號」以取得範例。

範例

以下範例顯示如何將內建 String 物件記錄為外部,以及新的執行個體方法 external:String#rot13

記錄新增到內建類別的方法
/**
 * The built in string object.
 * @external String
 * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String|String}
 */

/**
 * Create a ROT13-encoded version of the string. Added by the `foo` package.
 * @function external:String#rot13
 * @example
 * var greeting = new String('hello world');
 * console.log( greeting.rot13() ); // uryyb jbeyq
 */

以下範例記錄新增到外部命名空間 "jQuery.fn" 的新 starfairy 函式

記錄外部命名空間
/**
 * The jQuery plugin namespace.
 * @external "jQuery.fn"
 * @see {@link http://learn.jquery.com/plugins/|jQuery Plugins}
 */

/**
 * A jQuery plugin to make stars fly around your home page.
 * @function external:"jQuery.fn".starfairy
 */

在以下範例中,類別 EncryptedRequest 被記錄為內建類別 XMLHttpRequest 的子類別

擴充外部。
/**
 * The built-in class for sending HTTP requests.
 * @external XMLHttpRequest
 * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
 */

/**
 * Extends the built-in `XMLHttpRequest` class to send data encoded with a secret key.
 * @class EncodedRequest
 * @extends external:XMLHttpRequest
 */

您應該只將 @external 標籤新增到在專案外部定義的最高層級符號。在以下範例中,文件會參考外部類別 security.TLS。因此,@external 標籤用於記錄外部命名空間 external:security,但記錄外部類別 external:security.TLS

記錄巢狀外部符號
/**
 * External namespace for security-related classes.
 * @external security
 * @see http://example.org/docs/security
 */

/**
 * External class that provides Transport Layer Security (TLS) encryption.
 * @class TLS
 * @memberof external:security
 */