从JSDoc3获得更好的输出

时间:2012-12-10 16:28:55

标签: javascript jsdoc

我在使用JSDoc3时遇到了一些麻烦。最重要的是,@param没有出现!

这是我的测试来源:

/**
 * Testing JsDoc3.
 * Why isn't this working `better`?
 */
function foo(bar) {
    console.log(+bar);
}

/**
   A function with params.
   @param {string} baz
   @param {...number} bim
 */
function goo(baz/*, ...bim */) {

}

/**
 * Hello, is this thing on?
 * @namespace bop
 * @type {object}
 */
var bop = {

    sting: function(WHO) {
        console.log(WHO);
    },

    buzz: function(when, why) {

    }

};

我正在运行./jsdoc -r -l test.js。问题是我得到的输出很平淡,缺乏很多信息:


JSDoc3 output


为什么没有参数信息?!我正在使用默认模板;是不是显示参数的默认模板真的很平淡?或者我做错了什么?

我尝试为JSDoc3寻找一些模板,但实际上并没有找到任何好的模板。如果你知道一个有效且实际包含有用信息的好的,请分享。

2 个答案:

答案 0 :(得分:4)

在最新版本的JSDoc3以前的版本中记录全局对象时出现了一些问题。一切都运行良好。

如果您再次使用最新版本,您将获得goo全局功能的参数。

但是如果你想获得更好的描述,你应该遵循规则

@param {type} param_name参数描述 @param标签,类型,参数名称,参数说明

foo全局函数不会提供任何信息,因为缺少@param标记。 这是我的代码输出

global functions

namespace object

我在原始代码中添加了一些标记:

/ **      *测试JsDoc3。      *为什么这不起作用better?      * @方法      * @param {Object} bar Som bar值      * /     function foo(bar){         的console.log(+巴);     }

/**
   A function with params.
   @param {string} baz
   @param {...number} bim
   @returns {boolean} return false because we're testing
 */
function goo(baz/*, ...bim */) {
    return false;
}

/**
 * Hello, is this thing on?
 * @namespace bop
 * @type {object}
 */
var bop = {

    /**
    * Hello, is this thing on?
    *
    * @method
    * @param {object} WHO Some Param
    * @memberof bop
    */
    sting: function(WHO) {
        console.log(WHO);
    },

    /**
    * I'm public
    *
    * @method
    * @param {object} when Some Param when
    * @param {object} why Some Param why
    * @memberof bop
    */
    buzz: function(when, why) {
        _buzz(when, why);
    },

    /**
    * I'm inner (private)
    *
    * @inner
    * @method
    * @param {object} when Some Param when
    * @param {object} why Some Param why
    * @memberof bop
    */
    _buzz: function(when, why) {
        console.log(when);
    }

};

答案 1 :(得分:0)

有时它取决于您使用的jsdoc3模板。我使用多个模板生成了一个输出,因此我们可以根据个人需要比较哪个最合适:https://cancerberosgx.github.io/jsdoc-templates-demo/demo/我会花更多时间,但我认为这对做出决定非常有帮助。还记录了它们是如何生成的。希望它有所帮助!