使用jQuery参数的PhpStorm警告

时间:2017-12-19 10:51:07

标签: jquery phpstorm webstorm jsdoc

我使用PhpStorm,当我使用JSDoc将参数定义为类型jQuery时,它会给我警告。

我尝试将jQuery配置为库,但它似乎无法正常工作。

这是我的代码:

/**
 * @param {jQuery} $button
 */
function setActive($button)
{
    // The code is working fine, but PhpStorm is giving the warning 
    // "Unresolved function or method addClass()" here.
    $button.addClass("active");

    // If I try to do this, no warning is displayed.
    $("#test").addClass("test");
}

修改

智能感知中出现了一些方法(我不确定为什么),但不幸的是addClass不是其中之一。

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试添加JQuery类型(通过设置|语言和框架| JavaScript |库 TypeScript社区存根或在项目目录中运行npm i @types/jquery) - 这应解决问题:

enter image description here

答案 1 :(得分:0)

结果证明jQuery的Typescript使用大写字母J,因此JQuery而不是jQuery

像这样更改jsdoc即可解决此问题。

/**
 * @param {JQuery} $button
 */

否则,可以通过在项目中的某个地方创建一个非常简单的打字稿文件来启用小写jQuery

例如,您的文件可以命名为jquery.d.ts,并具有以下内容。

/**
 * Must have the @types/jquery typescript installed
 * either via PHPStorm -> Javascript -> Libraries
 * or `npm i @types/jquery`
 */
interface jQuery<TElement = HTMLElement> extends JQuery {}