我正在非常努力地使用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
}
}();
我尝试了很多不同的东西,这是我能想到的最好的。
第一部分…在Class
上记录publicMethod
。首先制作Class
和memberOf
namespace
,然后在Class.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
}
}();
现在,第二部分…让Class
像namespace
一样出现。我不知道该怎么做……抱歉!它将在类索引中显示为namespace.Class
提示:jsdoc 2充满了错误和不良实践。
考虑尝试JSDOC3 -> https://github.com/jsdoc3/jsdoc,或者根本不使用jsdoc,这取决于项目的性质。