Szukaj…


Wprowadzenie

Chociaż niektóre istniejące biblioteki JavaScript mają pliki definicji typów , wiele z nich tego nie robi.

TypeScript oferuje kilka wzorców do obsługi brakujących deklaracji.

Zadeklaruj dowolny globalny

Jest czasami najłatwiej po prostu zadeklarować globalny typu any , zwłaszcza w prostych projektów.

Jeśli jQuery nie ma deklaracji typu ( tak jest ), możesz umieścić

declare var $: any;

Teraz każde użycie $ zostanie wpisane any .

Utwórz moduł, który eksportuje domyślny dowolny

W przypadku bardziej skomplikowanych projektów lub w przypadkach, w których zamierzasz stopniowo wpisywać zależność, utworzenie modułu może być łatwiejsze.

Używając JQuery (chociaż ma dostępne typowania ) jako przykład:

// place in jquery.d.ts
declare let $: any;
export default $;

Następnie w dowolnym pliku w projekcie możesz zaimportować tę definicję za pomocą:

// some other .ts file
import $ from "jquery";

Po tym imporcie $ zostanie wpisane jako any .

Jeśli biblioteka ma wiele zmiennych najwyższego poziomu, zamiast tego eksportuj i importuj według nazwy:

// place in jquery.d.ts
declare module "jquery" {
   let $: any;
   let jQuery: any;

   export { $ };
   export { jQuery };
}

Następnie możesz zaimportować i użyć obu nazw:

// some other .ts file
import {$, jQuery} from "jquery";

$.doThing();
jQuery.doOtherThing();

Użyj modułu otoczenia

Jeśli chcesz tylko wskazać zamiar importu (więc nie chcesz deklarować globalnego), ale nie chcesz zawracać sobie głowy żadnymi wyraźnymi definicjami, możesz zaimportować moduł otoczenia.

// in a declarations file (like declarations.d.ts)
declare module "jquery";    // note that there are no defined exports

Następnie możesz zaimportować z modułu otoczenia.

// some other .ts file
import {$, jQuery} from "jquery";

Wszystko zaimportowane z zadeklarowanego modułu (np. $ I jQuery ) powyżej będzie any typu



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow