@use JSDoc

ES 2015 模块

JSDoc 3 使得可以对遵循 ECMAScript 2015 规范 的模块进行文档化。ES 2015 模块在 JSDoc 3.4.0 及更高版本中受支持。

模块标识符

在对 ES 2015 模块进行文档化时,您将使用 @module 标签 来对模块的标识符进行文档化。例如,如果用户通过调用 import * as myShirt from 'my/shirt' 来加载模块,则您将编写包含标签 @module my/shirt 的 JSDoc 注释。

如果您在没有值的情况下使用 @module 标签,则 JSDoc 将尝试根据文件路径猜测正确的模块标识符。

当您使用 JSDoc 名称路径 从其他 JSDoc 注释中引用模块时,您必须添加前缀 module:。例如,如果您希望模块 my/pants 的文档链接到模块 my/shirt,则可以使用 @see 标签 如下对 my/pants 进行文档化

/**
 * Pants module.
 * @module my/pants
 * @see module:my/shirt
 */

类似地,模块中每个成员的名称路径都将以 module: 开头,后跟模块名称。例如,如果您的 my/pants 模块导出一个 Jeans 类,并且 Jeans 有一个名为 hem 的实例方法,则该实例方法的长名称为 module:my/pants.Jeans#hem

导出的值

以下示例展示了如何在 ES 2015 模块中对不同种类的导出值进行文档化。在大多数情况下,您只需向定义导出值的 export 语句添加 JSDoc 注释即可。如果您要使用其他名称导出值,则可以在其 export 块中对导出值进行文档化。

对模块导出的值进行文档化
/** @module color/mixer */

/** The name of the module. */
export const name = 'mixer';

/** The most recent blended color. */
export var lastColor = null;

/**
 * Blend two colors together.
 * @param {string} color1 - The first color, in hexadecimal format.
 * @param {string} color2 - The second color, in hexadecimal format.
 * @return {string} The blended color.
 */
export function blend(color1, color2) {}

// convert color to array of RGB values (0-255)
function rgbify(color) {}

export {
    /**
     * Get the red, green, and blue values of a color.
     * @function
     * @param {string} color - A color, in hexadecimal format.
     * @returns {Array.<number>} An array of the red, green, and blue values,
     * each ranging from 0 to 255.
     */
    rgbify as toRgb
}