加载中...

@module


描述:记录一个 JavaScript 模块。

语法

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

在JSDoc3.3.0或更高版本中,<moduleName>可能包括module:前缀。在以前的版本中,你必须忽略此前缀。

注意:如果你提供了一个type,那 必须 同时提供模块名称(<moduleName>)。

概述

@module可以将当前文件标注为一个模块,默认情况下文件内的所有标识符都隶属于此模块,除非文档另有说明。

链接到模块(比如使用 @link或者 @see 标签)使用"module:moduleName"。例如,可以使用"{@link module:foo/bar}"链接到"@module foo/bar"。

如果未提供模块的名称,那么JSDoc将从模块的路径和文件名获得模块名称。例如,假设src目录下有一个文件test.js,包含块注释/** @module */。这些场景运行下运行JSDoc,test.js产生的模块名称请看下面的代码:

例如,如果没有提供导出模块的名称:

  1. # from src/
  2. jsdoc ./test.js # module name 'test'
  3. # from src's parent directory:
  4. jsdoc src/test.js # module name 'src/test'
  5. jsdoc -r src/ # module name 'test'

例子

下面的示例演示了在一个模块中用于标识的namepaths。第一个标识符是模块私有的,或“内部”变量 - 它只能在模块内访问。第二个标识符是由模块导出一个静态函数。

例如,使用基础的@module :

  1. /** @module myModule */
  2. /** will be module:myModule~foo */
  3. var foo = 1;
  4. /** will be module:myModule.bar */
  5. var bar = function() {};

当一个导出的标识符被定义为module.exportsexports,或this中的成员,JSDoc会推断该标识符是模块的静态成员。

在下面的例子中,Book类被描述为一个静态成员,"module:bookshelf.Book",带有一个实例成员,"module:bookshelf.Book#title"。

例如,定义导出的标识符为'this'的成员:

  1. /** @module bookshelf */
  2. /** @class */
  3. this.Book = function (title) {
  4. /** The title. */
  5. this.title = title;
  6. };

在下面的例子中,两个函数有namepaths(名称路径)"module:color/mixer.blend"和"module:color/mixer.darken"。

例如,定义导出的标识符为module.exportsexports的成员:

  1. /** @module color/mixer */
  2. module.exports = {
  3. /** Blend two colours together. */
  4. blend: function (color1, color2) {}
  5. };
  6. /** Darkens a color. */
  7. exports.darken = function (color, shade) {};

更多例子查看 描述 JavaScript 模块


还没有评论.