我有一个非常简单的文件:
/// <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'.
此问题是因为角量角器声明$很好,但作为一个cssSelectorHelper
而不是JQueryStatic
对象。
事情是......我根本没有使用量角器!!!,为什么当我从angular2/code中导入某些东西时会添加量角器?有没有一个体面的解决方法,直到Angular的人解决这个问题,如果他们做过。
注意:在量角器文件中注释掉定义并不是一个体面的解决方法,我正在寻找永久性的东西,当别人抓住项目并运行干净的安装或者当我们更新角度时不会消失图书馆。
你的问题实际上是http://stackoverflow.com/questions/34546446/flattening-type script-typings-or-interfaces /希望Angular团队很快就会解决这个问题。 –
它们是相关的,不是重复的。那个似乎更通用,并且要求将整个Angular 2作为DefinitelyTyped库。我只是想解决这个特定的jQuery冲突,因为他们首先在核心模块中调用量角器是愚蠢的。 – Langley
所以你的问题是这个https://github.com/angular/angular/issues/4725,对吧? –