使用 JSDoc 记录对象中包含的函数
Documenting functions contained in Objects with JSDoc
我正在寻找一种方法来使用 JSDoc 3 来记录字典中包含的函数 Javascript。
即使我告诉 JSDoc 有一个带有 @function
的函数,它也没有包含在生成的文档中。
是否有 JSDoc 标签可以提供帮助?或者有没有比我更方便的方法?
谢谢
/**
* @namespace Minitel
*/
var Minitel = Minitel || {}
/**
* @callback actionCallback
* @param {Stream} stream The Minitel Stream to which add the Videotex codes
* @param {Object} data Data object
* @param {?number} offsetX X offset
* @param {?number} offsetY Y offset
*/
/**
* Action callbacks
* @member {Object.<string, actionCallback>}
*/
Minitel.actions = {}
/**
* Handles "content-string" actions. The value should already be ready to be
* sent in the stream.
* @function
*/
Minitel.actions["content-string"] = function(stream, data) {
/* ... */
}
/**
* Handles "content-block" actions. It only supports left, center and right
* alignment.
* @function
*/
Minitel.actions["content-block"] = function(stream, data, offsetX, offsetY) {
/* ... */
}
我正在使用 jsdoc -p -c jsdoc.json app/*.js library/minitel/*.js
生成文档
这里是jsdoc.json
:
{
"plugins": ["plugins/markdown"],
"opts": {
"template": "../docdash"
}
}
我不确定(因为 jsdoc 有时并不冗长)但看起来 @member
不能有 children。一种解决方案是使用 @namespace
.
因此您的 actions
将记录如下:
/**
* Action callbacks
* @namespace
*/
@namespace
的一个问题是您无法为其定义类型。但是在这种情况下,即使没有 @function
作为静态方法,所有方法都会被记录下来。
我正在寻找一种方法来使用 JSDoc 3 来记录字典中包含的函数 Javascript。
即使我告诉 JSDoc 有一个带有 @function
的函数,它也没有包含在生成的文档中。
是否有 JSDoc 标签可以提供帮助?或者有没有比我更方便的方法?
谢谢
/**
* @namespace Minitel
*/
var Minitel = Minitel || {}
/**
* @callback actionCallback
* @param {Stream} stream The Minitel Stream to which add the Videotex codes
* @param {Object} data Data object
* @param {?number} offsetX X offset
* @param {?number} offsetY Y offset
*/
/**
* Action callbacks
* @member {Object.<string, actionCallback>}
*/
Minitel.actions = {}
/**
* Handles "content-string" actions. The value should already be ready to be
* sent in the stream.
* @function
*/
Minitel.actions["content-string"] = function(stream, data) {
/* ... */
}
/**
* Handles "content-block" actions. It only supports left, center and right
* alignment.
* @function
*/
Minitel.actions["content-block"] = function(stream, data, offsetX, offsetY) {
/* ... */
}
我正在使用 jsdoc -p -c jsdoc.json app/*.js library/minitel/*.js
生成文档
这里是jsdoc.json
:
{
"plugins": ["plugins/markdown"],
"opts": {
"template": "../docdash"
}
}
我不确定(因为 jsdoc 有时并不冗长)但看起来 @member
不能有 children。一种解决方案是使用 @namespace
.
因此您的 actions
将记录如下:
/**
* Action callbacks
* @namespace
*/
@namespace
的一个问题是您无法为其定义类型。但是在这种情况下,即使没有 @function
作为静态方法,所有方法都会被记录下来。