2012-10-06 9 views
20

Próbowałem poznać ten nowy materiał "TypeScript" i jestem trochę ciekawy.Czy TypeScript może wchodzić w interakcję z jQuery bez pliku definicji?

Czy nadal działa z istniejącymi strukturami javascript, takimi jak jQuery bez, potrzebą pliku definicji z wszystkimi tymi interfejsami? Próbowałem to przetestować ręcznie, ale do tej pory nie jestem pewien, jak daleko rozszerza się funkcjonalność.

aktualizacja

przez „pracy” mam na myśli prostą funkcjonalność, a nie cech IDE jak autouzupełnianie.

Odpowiedz

33

Prosta odpowiedź to tak.

TypeScript może w pełni współdziałać z dowolną istniejącą biblioteką JavaScript w wersji. Potrzebujesz pliku definicji, jeśli potrzebujesz narzędzi w IDE, aby ułatwić korzystanie z niego.

Ponadto, jeśli nie zostanie dołączony plik definicji, kompilator TypeScript może zostać oszukany za używanie zmiennej, która nie została zdefiniowana w kodzie (np. $). Aby obejść to może trzeba zrobić coś jak

declare var $; 

powiedział, że nie jestem pewien, dlaczego nie chciałby użyć pliku definicji jQuery. Z pewnością znacznie przyjemniej jest pisać z jQuery.

+0

Krótka odpowiedź brzmi, ponieważ moja wiedza na temat javascript nie rozwinęła się jeszcze do punktu, w którym jestem w stanie szybko napisać własne pliki definicji. W miarę jak będę bardziej doświadczony, prawdopodobnie będę w stanie zrobić to więcej. – Ciel

+0

@Ciel Jeśli nikt nie napisał już pliku definicji, na pewno rozumiem, dlaczego nie chciałbyś zrobić tego sam. Ale jQuery już istnieje, możesz go [skopiować stąd] (http://typescript.codeplex.com/SourceControl/changeset/view/fe3bc0bfce1f#samples%2fjquery%2fjquery.d.ts). –

+0

Warto również zauważyć, że jeśli czegoś brakuje w pliku definicji jQuery, który jest dostarczany z TypeScript, może być konieczne dodanie go samodzielnie. Możesz skopiować skopiowany plik jquery.d.ts i zmodyfikować go lub dodać rozszerzenia za pomocą oddzielnego pliku ext.dts. Zobacz moją odpowiedź na temat [dodawania wtyczek jQuery do TypeScript] (http://stackoverflow.com/questions/12719529/using-jquery-plugin-in-typescript/12722003#12722003) w celu uzyskania informacji na ten temat. –

7

Tak, można. Na przykład po prostu napisz:

declare var $; 

i można w zasadzie korzystać z frameworku JQuery bez konieczności definiowania czegokolwiek innego. Jest to również bardzo przydatne, gdy konwertujesz istniejące biblioteki/kod do przenoszenia.

3

Maszynopis umożliwia zadeklarowanie zmiennych w podanym zakresie przy użyciu składni declare variable lub declare function (patrz sekcja 1.1 na stronie 9 w specyfikacji językowej). Jednak użycie deklaracji otoczenia może być tylko krótkoterminowym rozwiązaniem, ponieważ skutecznie stracisz wszystkie sprawdzanie typu statycznego skryptu Typescript, a tym samym jedną z najważniejszych zalet Typescript przez JavaScript.

Powiązane problemy