我将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并不涵盖我的具体情况。
答案 0 :(得分: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,它帮助我确定了这个答案。