【问题标题】:JSDOC: How to document a function within of simple objectJSDOC:如何在简单对象中记录函数
【发布时间】:2021-05-04 13:02:13
【问题描述】:

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

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

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 + '!'
  }

}

但显然它不起作用。我找到了similar question here,但解决方案是错误的,它根本不起作用。这应该如何正确完成,以便我在输出 JSDoc 中获得一个模块FooModule、一个全局常量foofoo.abc 属性和foo.xyz 方法(包括@param@returns)?

可以吗?如果是,可以不用@typedefing 这样的所有功能来完成吗?

【问题讨论】:

    标签: javascript jsdoc documentation-generation


    【解决方案1】:

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

    module.exports = foo
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-24
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 2017-11-20
      • 2021-12-31
      • 2022-01-16
      相关资源
      最近更新 更多