我是JSDoc的新手,我正在试图找出标记代码的最佳方法。出于某种原因,在我将某些内容标记为@class之后,我无法将任何内容显示为@inner:
/**
* The logger, to simply output logs to the console (or potentially a variable)
* @class Logger
* @requires 'config/globalConfig'
*/
define(["config/globalConfig"], function (config) {
/**
* Instantiate a new copy of the logger for a class/object
* @constructor
* @param name {string} - The name of the class instantiating the logger
*/
return function (name) {
/**
* @memberOf Logger
* @type {string}
*/
this.name = name;
/**
* Place the message on the console, only for "DEV" level debugging
* @function
* @memberOf Logger
* @param message {string}
*/
this.debug = function (message) {
... some code ...
};
};
});
现在所有成员都显示为< static>。如果我将@inner标记添加到任何属性/函数中,它们将从输出中完全消失。
编辑:我也忘了提。 @constructor标志似乎也没有工作。如果我删除整个部分,它在输出中显示相同。输出不包括我想用我的构造函数提及的@param。如果完全关闭,请告诉我,我只是在猜测,因为JSDoc3文档有点难以阅读。
答案 0 :(得分:1)
所以我想通了,仍然不确定它是否绝对正确。我不得不使用“Logger~name”使其正确显示为内部函数。根据JSDoc文档,这〜很少使用。似乎是唯一对我有用的东西。
define(["config/globalConfig"], function (config) {
/**
* The logger, to simply output logs to the console (or potentially a variable)
* @class Logger
* @param name {string} - The name of the class instantiating the logger
*/
return function (name) {
this.name = name;
/**
* Place the message on the console, only for "DEV" level debugging
* @function Logger~debug
* @param message {string}
*/
this.debug = function (message) {
... code ...
};
};
});