gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:14:13 24 4
gpt4 key购买 nike

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

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

@Component({})
export class AppComponent{

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

}

我安装了 jQuery typings 这样 typescript 就不会提示无法识别 $.但是现在事情正在提示问题中的问题:

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 对象。

事情是......我根本没有使用 Protractor !!!,为什么当我从 angular2/code 导入一些东西时它会被添加?在 Angular 人员解决这个问题(如果他们曾经这样做过)之前,是否有一个合适的解决方法。

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

最佳答案

d.ts文件中替换

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

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

关于typescript - 后续的变量声明必须具有相同的类型。变量 '$' 必须是类型 'JQueryStatic' ,但这里有类型 'cssSelectorHelper',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34641185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com