IDE无法识别使用JSDoc的方法

时间:2017-02-13 23:38:46

标签: javascript function webstorm jsdoc

我有一个定义如下的函数。

/**
 * @type Object
 * @return {typeof hello} hello
 */

function hello() {

    /**
     * Prints some words
     * @param {string} words - words to print
     * @returns {string} words you said
     */
    function sayIt(words) {
        console.log(words);
        return 'You said: ' + words;
    }
    return {
        sayIt: sayIt
    }
}

我希望这样当我输入hello.时,我的IDE会告诉我方法sayIt可用,并且它将参数words作为字符串。

此功能作为模块加载到云系统中,您可以从另一个脚本调用它的唯一方法是导入hello模块并像hello.sayIt('hello')一样使用它。所以基本上我想知道是否有一种格式化JSDoc的方法,以便我的IDE知道sayIt方法可用hello方法,并且它接收words参数作为一个字符串。目前它知道sayIt是一种方法,但不知道它与hello对象相关联,所以我没有获得任何自动完成帮助。

1 个答案:

答案 0 :(得分:0)

即使您的代码没有JSDOC,Webstorm也应该能够为您提供自动更正。

检查您是否module.exports = hello而非module.exports = hello()

如果此建议无效或不适用,我建议您重构代码

我建议你这样做。

return {
  sayIt: function(words) {
    console.log(words);
    return 'You said: ' + words;
  }
}