使用jsdoc用多个类注释requirejs模块

时间:2014-06-05 14:33:56

标签: javascript class requirejs jsdoc

我正在尝试使用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;
})

我没有尝试记录第二类,因为它到目前为止没有按预期工作。已创建myModuleMyClass的文档,MyClass属于myModulestaticMethod被记录为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的实例方法?

0 个答案:

没有答案