【问题标题】:Documenting functions contained in Objects with JSDoc使用 JSDoc 记录对象中包含的函数
【发布时间】:2018-02-28 22:11:26
【问题描述】:

我正在寻找一种使用 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"
    }
}

【问题讨论】:

    标签: javascript documentation jsdoc


    【解决方案1】:

    我不确定(因为 jsdoc 有时并不冗长)但看起来 @member 不能有孩子。一个解决方案是使用@namespace

    因此您的actions 将记录如下:

    /**
     * Action callbacks
     * @namespace
     */
    

    @namespace 的一个问题是您无法为其定义类型。但在这种情况下,即使没有 @function 作为静态方法,也会记录所有方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-06
      • 2021-05-04
      • 2011-03-11
      • 2013-05-30
      • 1970-01-01
      • 2011-12-25
      • 2017-11-20
      • 1970-01-01
      相关资源
      最近更新 更多