【问题标题】:What JSDoc tags to use when creating objects with factory i.e. mylib.create()使用工厂创建对象时使用哪些 JSDoc 标签,即 mylib.create()
【发布时间】:2015-03-09 16:58:25
【问题描述】:

我的 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 的使用方式如下。用户不知道也不需要知道 mylib.create() 背后的 lib 是如何工作的。

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

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

【问题讨论】:

  • 对我来说听起来像一个模块,模块本身没有构造函数,所以不要担心。

标签: javascript jsdoc commonjs


【解决方案1】:

我会说@constructs 是您正在寻找的东西(另请参阅http://usejsdoc.org/tags-constructs.html)。

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

【讨论】:

    猜你喜欢
    • 2017-03-08
    • 2012-05-11
    • 1970-01-01
    • 2012-02-05
    • 2011-09-10
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多