如何让 JSDoc 识别分配给对象属性的匿名函数? 包括示例代码

问题描述

我有一个名为 example.js文件,其中包含以下内容。当我跑

jsdoc example.js

我按预期获得 ./out 文件夹,但生成的文档不包含 foo.greeting,仅包含 greeting

const foo = {};

/**
 * greets with name in text
 * @param {string} name  - name
 * @returns {string} - an IPC response object
 */
foo.greeting = (name) => {
  return 'hello,' + name;
};

/**
 * greets with name in text
 * @param {string} name  - name
 * @returns {string} - an IPC response object
 */
const greeting = (name) => {
  return 'hello,' + name;
};

是否可以让jsdoc识别对对象属性的匿名函数赋值?

我目前使用的是 JSDoc 3.6.6。

解决方法

是的,您可以通过使用 @function 标记来实现:

/**
 * @function greeting
 * @description greets with name in text
 * @param {string} name  - name
 * @returns {string} - an IPC response object
 */
foo.greeting = (name) => {
  return 'hello,' + name;
};

这是否会产生您正在寻找的东西,很难说,但它至少会产生某些东西