使用 jsdoc 记录猫鼬模型方法

Documenting mongoose model methods with jsdoc

我正在尝试使用 jsdoc 记录 mongoose 模型方法。模型的方法属于模型,因此我希望将其视为成员方法。

该文件还包含顶级 @module models 行。

/**
 * @constructor
 */
var MySchema = new Schema({
  title: {
    type: String,
    required: true
  }
});

/**
 * My method
 *
 * @function myMethod
 * @memberof MySchema
 * @this MySchema
 * @param {ObjectId} object
 * @params {Array} roles, defaults to all
 * @returns Participant or null
 */
 MySchema.method('myMethod', function(object, roles) {
   // ...
 });

目前我收到一个模块页面,其中包含我的 class 定义的 link 和一个记录 class 定义的页面,但该方法没有出现在任何这些页面上页。当我删除 @memberof 时,该方法将出现在模块页面上。不过我想把它放在 class 页面上。

我缺少 jsdoc 文档的哪一部分?

您必须明确说明模块:

@memberof module:models~MySchema

事实是,当您指定 MySchema 时,jsdoc 不会推断您指的是 MySchema 实体,即 在当前模块 中。

实际上与@this相同。如果您将其修改为具有模块名称,那么在文档中关于 this 的部分将有一个 link 到 MySchema.

的定义