我正在制作node.js项目,并在Webstorm中工作,其中函数通常以黄色突出显示。但是,在以下情形中,fnA
未被识别为文件b中的函数。
//file a.js
module.exports = fnA;
/**
* Converts val to someOtherVal
* @param val
* @return someOtherVal
*/
function fnA( val ){
//Do something with val....
return someOtherVal
}
//file b.js
var fnA = requires('./a.js');
function fnB() {
var c = fnA(3); //<- not recognized as a function
}
但是,如果我将函数包装在命名空间中,它可以正常工作:
//a.js
module.exports = fnA;
/**
* Converts val to someOtherVal
* @param val
* @memberof core
*/
function fnA( val ){
//Do something with val....
return someOtherVal
}
__________________________________________________
//b.js
/**
* @namespace
*/
var core = {
fnA : requires('./a.js')
}
function b() {
var c = core.fnA(3); //Recognized as a function
}
我想避免将函数包装在命名空间中 - 在第一个示例中jsdoc函数的正确方法是什么?
答案 0 :(得分:0)
JSDoc 3.6.6 中的相同问题(无法识别导出定义的函数)
解决方法: 定义函数而不导出并导出对象。
//file.js
const function1 = () => {
...
}
const function2 = () => {
...
}
export {
function1,
function2
}