繁体   English   中英

JSDOC:如何在简单的 object 中记录 function

[英]JSDOC: How to document a function within of simple object

我需要记录一个简单的 object 并且我找不到如何记录内部方法的@param@returns的文档或教程。 如果我将它们放在相应的方法( xyz )之上,它们将被忽略,如果我将它们放在 object 之上,则不会分配@param (或者我不知道如何在这里分配它)。

假设它是一个简单的 object,如下所示:

export const foo = {

  abc: 'A string',

  xyz: (x) => {
    return x + '!'
  }

}

我希望这样的事情应该有效:

/**
 * @module FooModule
 */

/**
 * @type {object}
 */ 

export const foo = {

 /**
   * @property {string} abc - some property
   */ 
  abc: 'A string',

 /**
   * @property {function} xyz - some method
   * @param {string} x - source string
   * @returns {string} - exclamation mark added
   */ 
  xyz: (x) => {
    return x + '!'
  }

}

但这显然不起作用。 我在这里发现了一个类似的问题,但解决方案是错误的,它根本不起作用。 这应该如何正确完成,以便我在 output JSDoc 中获得一个模块FooModule ,一个具有foo.abc属性和foo.xyz方法(包括@param@returns )的全局常量foo

可以做到吗? 如果是,可以在没有@typedef所有函数的情况下完成吗?

似乎其他问题的最新答案发现了问题。 它不在 JSDoc 语法中,而是在 javascript 本身中。 似乎 JSDoc 的@module不能与export指令一起使用。 如果删除了@module ,文档将按预期工作。 如果使用@module ,则export必须替换为

module.exports = foo

在最后。 然后 JSDoc 构建工作正常。

暂无
暂无

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

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