2013-08-22 5 views
5

Próbowałem po prostu skompilować najnowszą wersję pliku deklaracji jquery z zdecydowanieTyped, here.Błąd komunikatu o typie skryptu TS2173: Ogólne odwołania do typów muszą zawierać wszystkie argumenty typu

Problem mam tu i teraz jest to:

C:/nodejs/tsc.cmd --sourcemap jquery.d.ts --module commonjs --target ES5 
C:/gamesbrainiac/d.ts/DefinitelyTyped/jquery/jquery.d.ts(491,40): error TS2173: Generic type references must include all type arguments. 

node działa @ wersji 0.10.3 i Typescript @ wersji 0.9.1.1.

Co oznacza ten błąd, chciałbym zrozumieć komunikaty o błędach, aby samemu rozwiązać problemy, zamiast poprosić innych, aby zrobili to za mnie.

Odpowiedz

8

That line powinno być:

promise(type?: any, target?: any): JQueryPromise<any>; 

Poślę do nich wniosków ciągnąć. Dzięki.

JQueryPromise to ogólny interfejs. tj. przyjmuje parametry typu. Począwszy od TS 0.9.1.1 są one bardziej rygorystyczne odnośnie parametrów ogólnych. Muszą być określone od teraz. Było to dozwolone w poprzednich wersjach (gdzie typ został przyjęty do dowolnego niejawnie), ale analiza kompilatora jest teraz bardziej rygorystyczna (i typ musi być określony jawnie).

+0

Ale czy możesz wyjaśnić, co robisz, gdy dodajesz te nawiasy kątowe, a także błąd, który był częścią pytania. –

+0

Są one nazywane "rodzajowymi parametrami typu". Rozszerzona odpowiedź również :) – basarat

Powiązane problemy