我正在努力使用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
}
}();
答案 0 :(得分:4)
我尝试了很多不同的东西,这是我能想到的最好的东西。
第一部分......记录publicMethod
上的Class
。首先让Class
成为memberOf
namespace
,然后在@lends
上使用Class.prototype
。例如:
/**
* @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
}
}();
现在,第二部分......让Class
显示在namespace
上。我不知道怎么做...对不起!它将在类索引中显示为namespace.Class
。
答案 1 :(得分:0)
就像一个提示:jsdoc 2充满了错误和不良做法 考虑尝试JSDOC3 - > https://github.com/jsdoc3/jsdoc或根本没有jsdoc,具体取决于项目的性质。