我在使用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寻找一些模板,但实际上并没有找到任何好的模板。如果你知道一个有效且实际包含有用信息的好的,请分享。
答案 0 :(得分:4)
在最新版本的JSDoc3以前的版本中记录全局对象时出现了一些问题。一切都运行良好。
如果您再次使用最新版本,您将获得goo全局功能的参数。
但是如果你想获得更好的描述,你应该遵循规则
@param {type} param_name参数描述 @param标签,类型,参数名称,参数说明
foo全局函数不会提供任何信息,因为缺少@param标记。 这是我的代码输出
我在原始代码中添加了一些标记:
/ **
*测试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/我会花更多时间,但我认为这对做出决定非常有帮助。还记录了它们是如何生成的。希望它有所帮助!