我正在尝试使用jsdoc(版本3.2.2),我认为它不喜欢我的编码风格,我无法让我的类的方法显示在它的文档中。
这就是我的设置:
define(["lib"], function(lib){
var myModule = {};
myModule.staticMethod = function(param){
// do something
}
myModule.MyClass = function(param){
// constructor
}
myModule.MyClass.prototype.myMethod = function(param){
// an instance method of MyClass
}
myModule.OtherClass = function(param){
// constructor
}
myModule.OtherClass.prototype.otherMethod = function(param){
// an instance method of OtherClass
}
return myModule;
})
根据http://usejsdoc.org/howto-commonjs-modules.html的文档,我添加了以下jsdoc注释:
define(["lib"], function(lib){
/**
* @exports myModule
*/
var myModule = {};
/**
* A static Method of myModule
* @param {string} param A parameter
*/
myModule.staticMethod = function(param){
// do something
}
/**
* @class
* @classdesc This is my class
* @param {string} param A parameter to the constructor.
*/
myModule.MyClass = function(param){
// constructor
}
/**
* A method of MyClass
* @param {string} param A parameter to myMethod.
*/
myModule.MyClass .prototype.myMethod = function(param){
// an instance method of myClass
}
myModule.OtherClass = function(param){
// constructor
}
myModule.OtherClass.prototype.otherMethod = function(param){
// an instance method of OtherClass
}
return myModule;
})
我没有尝试记录第二类,因为它到目前为止没有按预期工作。已创建myModule
和MyClass
的文档,MyClass
属于myModule
,staticMethod
被记录为myModule
的静态成员。到目前为止一切都很好。但myMethod
在<static> MyClass#myMethod(param)
的文档中记录为myModule
。我尝试使用@memberOf
,但无法使其工作,以下所有示例myMethod
都从文档中消失:
@memberOf MyClass
@memberOf class:MyClass
@memberOf myModule.MyClass
@memberOf module:myModule.class:MyClass
@memberOf MyClass.prototype
@memberOf class:MyClass.prototype
@memberOf myModule.MyClass.prototype
@memberOf module:myModule.MyClass.prototype
@memberOf module:myModule.class:MyClass.prototype
以下内容使其成为MyClass
的成员,但为<static> myModule.MyClass#myMethod(param)
@memberOf module:myModule.MyClass
我尝试了@instance标记但是再次从文档中删除了myMethod
。
如何将myMethod
显示为myClass
的实例方法?