我在开始使用 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 寻找一些模板,但没有找到任何好的模板。如果您知道一个有效且实际上包含有用信息的好方法,请分享。
最佳答案
在以前版本的 JSDoc3 中记录全局对象时出现一些问题,在最新版本中一切正常。
如果您使用最新版本重试,您将获得 goo 全局函数的参数。
但是如果你想得到更好的描述你应该遵循这个规则
@param {type} param_name 参数说明 @param 标签、类型、参数名称、参数说明
foo 全局函数不会为您提供任何信息,因为缺少@param 标记。 这是我的代码输出
我在您的原始代码中添加了一些标签:
/**
* 测试 JsDoc3。
* 为什么这不是更好
?
* @方法
* @param {Object} bar Som bar值
*/
函数 foo(bar) {
控制台日志(+栏);
/**
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);
}
};
关于javascript - 从 JSDoc3 获得更好的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805006/