后续变量声明必须具有相同的类型。变量“$”必须是“JQueryStatic”类型,但这里的类型是“cssSelectorHelper”

2024-04-27

我有一个非常简单的文件:

/// <reference path="../typings/browser/ambient/jquery/jquery" />
import {Component} from "angular2/core";

@Component({})
export class AppComponent{

    constructor(){
        $.isEmptyObject({});
    }

}

我安装了 jQuery 类型,这样打字稿就不会抱怨无法识别 $。但现在事情正在抱怨问题中的问题:

Error:(1679, 13) TS2403: Subsequent variable declarations must have the same type.  Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'.

发生此问题是因为 Angular-Protractor 也声明了 $,但作为cssSelectorHelper代替JQueryStatic object.

问题是...我根本没有使用量角器!!!,为什么当我从 angular2/code 导入某些内容时它会被添加?在 Angular 的人解决这个问题之前,是否有一个不错的解决方法(如果他们曾经这样做过)。

注意:注释掉量角器文件中的定义并不是一个像样的解决方法,我正在寻找一些永久性的东西,当其他人获取项目并运行全新安装或我们更新角度库时,它不会消失。


in the d.ts文件替换

declare module "jquery" {
    export = $;
}
declare var jQuery: JQueryStatic;
declare var $: JQueryStatic;

with

declare module "jquery" {
    export = jQuery;
}
declare var jQuery: JQueryStatic;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后续变量声明必须具有相同的类型。变量“$”必须是“JQueryStatic”类型,但这里的类型是“cssSelectorHelper” 的相关文章

随机推荐