Ich habe eine sehr einfache Datei:
/// <reference path="../typings/browser/ambient/jquery/jquery" />
import {Component} from "angular2/core";
@Component({})
export class AppComponent{
constructor(){
$.isEmptyObject({});
}
}
Ich installierte jQuery Typisierungen so Typoskript nicht um nicht zu erkennen $ beschweren würde. Aber jetzt ist die Sache beschwert sich über das Thema in der Frage:
Error:(1679, 13) TS2403: Subsequent variable declarations must have the same type. Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'.
Dieses Problem tritt auf, weil Winkel Winkelmesser $ auch bekannt, dass folgende sondern als cssSelectorHelper
anstelle eines JQueryStatic
Objekt.
Die Sache ist ... Ich benutze überhaupt keinen Winkelmesser !!!, warum wird es hinzugefügt, wenn ich etwas von angular2/code importiere? Gibt es eine vernünftige Workaround dafür, bis Angular Jungs das reparieren, wenn sie es jemals tun.
Hinweis: Auskommentieren der Definition in der Winkelmesser-Datei ist keine anständige Problemumgehung, ich bin auf der Suche nach etwas permanent, das nicht weggehen wird, wenn jemand anderes das Projekt ergreift und eine saubere Installation oder wenn wir die eckige aktualisieren Bibliothek.
Ihre Frage ist eigentlich ein Duplikat von http://stackoverflow.com/questions/34546446/flattening-type script-typings-or-interfaces/Hoffentlich wird das Angular-Team dieses Problem bald beheben. –
Sie sind verwandt, nicht dupliziert. Dieser scheint generischer zu sein und verlangt nach der ganzen Angular 2 als DefinitelyTyped lib. Ich möchte es nur für diesen spezifischen jQuery-Konflikt lösen, weil es blöd ist, dass sie im Core-Modul zuerst Winkelmesser aufrufen. – Langley
Also Ihr Problem ist das https://github.com/angular/angular/issues/4725, richtig? –