使用工厂创建对象时要使用的JSDoc标记,即mylib.create()

时间:2015-03-09 16:58:25

标签: javascript jsdoc commonjs

我的CommonJS模块使用工厂样式对象创建(.create()),我尝试使用JSDoc样式文档,但无法确定哪些JSDoc标记@class@module等。我应该用它做得很好。您可以在下面看到模块的简化结构。

var MyLib = function () {
  this.msg = 'Hello';
};

exports.create = function () {
  return new MyLib();
};

MyLib.prototype.greet = function () {
  console.log(this.msg);
};

lib以下列方式使用。用户不知道也不需要知道有关lib如何在mylib.create()后面工作的信息。

var mylib = require('mylib');
var a = mylib.create();
a.greet(); // 'Hello'

因此,我的问题是,我应该如何标记函数以使文档包含mylib.create()作为构造函数,mylib.instance.greet()作为方法,不包括任何关于{{ 1}}仅在模块内部使用的对象。

1 个答案:

答案 0 :(得分:1)

我会说@constructs正是您所寻找的(另见http://usejsdoc.org/tags-constructs.html)。

但是我认为应该将MyLib记录为一个类并创建一个函数,该函数返回具有适当链接的该类的实例(即@see)。