使用 JSDoc 3 在 AMD 模块中记录 class

Documenting a class in an AMD module with JSDoc 3

我正在尝试使用 JSDoc 3 在 AMD JavaScript 模块中记录 class。这是我的代码,基于文档 here:

/**
 * A module representing a jacket.
 * @module my/jacket
 */
define('my/jacket', function() {
  /**
   * @class
   * @alias module:my/jacket
   */
  function Jacket() {
  }

  /**
   * Open and close your Jacket.
   */
  Jacket.prototype.zip = function() {
  };

  return Jacket;
});

这产生的输出如下所示:

Class: module:my/jacket

module:my/jacket

new module:my/jacket()

但我希望它显示为:

Class: Jacket

Jacket

new Jacket()

有办法吗?我正在使用 jsdoc 3.4.1.

我已经尝试将 @class 更改为 @class Jacket,这几乎可以工作:class 以正确的名称出现,但 zip 方法的文档是未生成。

解决方案是使用 @alias 标签而不是模块名称来设置 class(函数)名称:

/**
 * A module representing a jacket.
 * @module my/jacket
 */
define('my/jacket', function() {
  /**
   * @class
   * @alias Jacket
   */
  function Jacket() {
  }

  /**
   * Open and close your Jacket.
   */
  Jacket.prototype.zip = function() {
  };

  return Jacket;
});

这会产生所需的输出:

Class: Jacket

Jacket

new module:Jacket()

连同 zip 方法文档。