使用jsdoc-toolkit在命名空间中记录带有原型的javascript类



我正在非常努力地使用jsdoc-toolkit以以下格式记录代码。在我看来,我使用的标签应该产生期望的结果,但它没有。相反,它警告Class没有文档记录(因为它只在闭包中定义),并且没有在命名空间的成员列表中包含Class。

如果可能的话,我想在不使用@name标签的情况下记录这一点。有人能帮忙吗?
/**
 * @namespace The original namespace
 */
var namespace = function () {
    // private
    /**
     * @private
     */
    function _privateMethod () {
    };
    /**
     * This is the detail about the constructor
     * @class This is the detail about the class
     * @param {Object} argone The first argument
     * @param {Object} argtwo The second argument
     */
    var Class = function (argone, argtwo) {
        /**
         * A public member variable
         */
        this.member = "a member";
    };
    /**
     * A public method
     * @param {Object} argone The first argument
     */
    Class.prototype.publicMethod = function (argone) {
    };
    return /** @lends namespace */ {
        Class: Class
    }
}();

我尝试了很多不同的东西,这是我能想到的最好的。

第一部分…在Class上记录publicMethod。首先制作ClassmemberOf namespace,然后在Class.prototype上使用@lends。例子:

/**
 * @namespace The original namespace
 */
var namespace = function () {
    // private
    /**
     * @private
     */
    function _privateMethod () {
    };
    /**
     * This is the detail about the constructor
     * @class This is the detail about the class
     * @memberOf namespace
     * @param {Object} argone The first argument
     * @param {Object} argtwo The second argument
     */
    var Class = function (argone, argtwo) {
        /**
         * A public member variable
         */
        this.member = "a member";
    };
    Class.prototype = 
    /** @lends namespace.Class */ 
    {
        /** a public method
          * @param {Object} argone The first argument
        */
        publicMethod: function (argone) {
        }
    };
    return {
        Class: Class
    }
}();

现在,第二部分…让Classnamespace一样出现。我不知道该怎么做……抱歉!它将在类索引中显示为namespace.Class

提示:jsdoc 2充满了错误和不良实践。
考虑尝试JSDOC3 -> https://github.com/jsdoc3/jsdoc,或者根本不使用jsdoc,这取决于项目的性质。

相关内容

  • 没有找到相关文章

最新更新