使用jsdoc工具包在命名空间中使用原型记录javascript类

使用jsdoc工具包在命名空间中使用原型记录javascript类,javascript,documentation,documentation-generation,jsdoc,Javascript,Documentation,Documentation Generation,Jsdoc,我正在努力使用jsdoc工具包以下面的格式记录代码。在我看来,我使用的标签应该会产生预期的结果,但事实并非如此。相反,它警告类是未文档化的(因为它只在闭包中定义),并且不在名称空间成员列表中包含类 如果可能的话,我不想使用@name标签来记录这一点。有人能帮忙吗 /** * @namespace The original namespace */ var namespace = function () { // private /** * @private

我正在努力使用jsdoc工具包以下面的格式记录代码。在我看来,我使用的标签应该会产生预期的结果,但事实并非如此。相反,它警告类是未文档化的(因为它只在闭包中定义),并且不在名称空间成员列表中包含类

如果可能的话,我不想使用@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
a
memberOf
名称空间
,然后在
类.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
    }
}();

现在,第二部分…让
显示为
名称空间
。我不知道该怎么做…对不起!它将在类索引中显示为
namespace.Class

作为提示:JSDOC2充满了bug和错误实践。

考虑JSDOC3->或者根本没有JSDoc,取决于项目的性质。< /P>您使用什么版本的JSDoc工具包来生成文档?JSDoc 3也不起作用。整个工具有点可笑。我通过npm使用jsdoc3,它也忽略了原型。