【问题标题】:How to use JSDoc with destructured imports?如何将 JSDoc 与解构导入一起使用?
【发布时间】:2019-06-27 10:45:50
【问题描述】:

我使用 VSCode 作为我的 NodeJS 编辑器和 Preview JSDOC 扩展。

我想知道如何将 JSDoc 与重组导入一起使用。请参见下面的示例。

我创建了一个模块,Module A

/**
 * Some function description
 * @return a string + 1234
 */
const myFuncA = (someParams) => {
  return `${someParams} 1234` // or whatever
};

/**
 * This is a string.
 */
const myPropB = "A string";

// ...

module.exports = {
  myFuncA, 
  myPropB
}

在模块 B 中,我想使用模块 A 中的一些属性或函数: Module B

const { myFuncA } = require('../moduleA');

const propA = myFuncA(4321);

但是,将鼠标悬停在myFuncA 上时(或键入myFuncA(... 时),不会显示说明。

我是 JSDoc 的新手,但是,their docs 不涉及我的具体情况。

【问题讨论】:

    标签: node.js visual-studio-code jsdoc


    【解决方案1】:

    我也在寻找这个问题的答案,我认为这个解决方案最好的办法是使用@memberof module:<your-module-name> 语法。

    因此,在顶部的模块 B 中,您将添加类似这样的内容

    /** module MyModuleName */
    
    const { myFuncA } = require('../moduleA');
    

    然后在模块 A 中添加 @memberof module:<module-name> 装饰器。

    /**
     * Some function description
     * @return a string + 1234
     * @memberof module:MyModuleName
     */
    const myFuncA = (someParams) => {
      return `${someParams} 1234` // or whatever
    };
    

    额外信息: 当我在寻找解决这个问题的方法时,我假设 JSDoc 会解决导入问题。 JSDoc 不解析导入,这很有意义。如果你想让一个函数属于另一个模块,你必须让 JSDocs 知道。感谢github issue thread,它帮助我确定了这个答案。

    【讨论】:

      猜你喜欢
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2023-02-08
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多