2013-05-31 11 views
12

Chciałbym zacząć używać TypeScript w istniejącym projekcie, ale istnieje już wiele udostępnionych bibliotek JavaScript, których potrzebuję użyć w pliku TypeScript. Czy istnieje sposób, aby TypeScript odnosił się do istniejących bibliotek JavaScript z kodem powiązanym z projektem?Czy maszynopis obsługuje istniejące projekty z bibliotekami JavaScript?

Próbowałem również przenieść istniejące biblioteki JavaScript do TypeScript i otrzymuję wiele błędów w czasie kompilacji. Trudno jest usunąć wszystkie błędy czasu kompilacji. Dlaczego TypeScript nie może po prostu odnieść tych klas JavaScript za pomocą opcji "stłumić błąd i ostrzeżenie", np. Kompilator Google Dart?

Odpowiedz

10

Istnieją dwa przypadki tutaj:

  1. dzwonisz JavaScript z maszynopis

W tym względzie maszynopis działa bardzo podobnie do zamknięcia kompilatora google. Wszystko musi zostać zadeklarowane, zanim będzie można z niego korzystać.

Więc jeśli masz osobny plik JavaScript, który ma zmienną Foo (klasa, moduł, numer itp.), Powinieneś o tym powiedzieć TypeScript. W najbardziej podstawowym przypadku możesz zrobić coś takiego:

declare var Foo: any; 

W przeciwnym razie wystąpią błędy kompilacji.

Później możesz zbudować na tej deklaracji. Dla osoby trzeciej bibliotek istnieje ogromny zasób dostępny w https://github.com/DefinitelyTyped/DefinitelyTyped

  1. Kopiowanie JavaScript w maszynopisie

Dodatkowym rzecz, która może dać skompilować błędy kopiuje na swój JavaScript do plików TypeScript. Tutaj TypeScript pomoże Ci uchwycić błędy typu:

var x = '123'; 
var y = x.toPrecision(4); // Error x is string not a number 
Powiązane problemy