繁体   English   中英

如何在JSDoc中记录深度大于2的符号?

[英]How do I document symbols with a depth greater than 2 in JSDoc?

我有一个包含多个方法的对象,并且是一个类的成员。 我将如何使用JSDoc进行记录?

这是我的尝试。 有了此SomeClass#helperFunctions的文档,但省略了这两种方法。

 /** * @class SomeClass * @param name */ var SomeClass = function(name) {}; /** * @member SomeClass#helperFunctions */ SomeClass.prototype.helperFunctions = { /** * @method SomeClass#helperFunctions.doSomething * @param {Array} arr */ doSomething: function(arr) {} }; /** * @method SomeClass#helperFunctions.doSomethingElse * @param {Array} arr */ SomeClass.protype.helperFunctions.doSomethingElse = function(arr) {}; 

这是我能想到的最好的。

我将SomeClass#helperFunctions方法SomeClass#helperFunctions为全局变量,然后使用链接将它们包含为SomeClass#helperFunctions属性。

/**
 * @class SomeClass
 * @param {String} name
 */
var SomeClass = function(name) {};

/**
 * @member SomeClass#helperFunctions
 * @property {Function} doSomething [_doSomething]{@link _doSomething}
 * @property {Function} doSomethingElse [_doSomethingElse]{@link _doSomethingElse}
 */
SomeClass.prototype.helperFunctions = {
  doSomething: _doSomething,
  doSomethingElse: _doSomethingElse
};

/**
 * @function _doSomething
 * @param {Array} arr
 */
_doSomething = function(arr) {};

/**
 * @function _doSomethingElse
 * @param {Array} arr
 */
_doSomethingElse = function(arr) {};

在我的实际应用程序中, SomeClass也是一个模块,因此它写为:

/**
 * @module path/to/SomeClass
 */

/**
 * @class module:path/to/SomeClass
 */
var SomeClass = module.exports = function() {};

然后,链接被写为{@link module:path/to/SomeClass~_doSomething}因此它将链接到模块页面上的该位置,而不是在Globals中寻找它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM