Podstawy
1 godz. 31 min · Typescript · Full-stack i Programowanie
Adam GospodarczykTypeScript umożliwia opisanie naszego kodu typami oraz wychwytywanie dotyczących ich błędów na wczesnym etapie developmentu. W efekcie wykorzystanie TypeScript'u w projekcie podnosi jego jakość i zmniejsza ryzyko pomyłek, które mogą być nie wychwycone na etapie testowania lub mogą pojawić się dopiero w środowisku produkcyjnym.
Z pomocą Reacta tworzymy coraz bardziej złożone aplikacje w których ryzyko popełnienia błędów jest wysokie. TypeScript nie tylko je zmniejsza ale również wpływa pozytywnie na tzw. developer experience (doświadczenia programisty) poprzez to, że nasze IDE "wie więcej" na temat kodu który piszemy. A to z kolei przekłada się na lepszą wydajność i komfort pracy.
Przy założeniu że znamy już samego Reacta oraz TypeScript, połączenie tych dwóch umiejętności jest stosunkowo proste. Wystarczy poznać ogólne zasady typowania propsów, komponentów oraz hooków aby z powodzeniem móc wykorzystywać zalety płynące z posiadania typów w naszym kodzie. W tym kursie dowiesz się jak to zrobić, w najszybszy możliwy sposób.
Kurs został przygotowany tak aby na prostych przykładach pokazać Ci w jaki sposób wykorzystywać TypeScript w projektach React.js. Jeżeli szukasz źródła które pozwoli Ci szybko zacząć - jesteś w dobrym miejscu.
Materiał zawiera dobre praktyki i sugestie dotyczące wykorzystania TypeScript'u oraz konfiguracji środowiska pracy (np. IDE) oraz ustawień samego projektu. Jest to wiedza którą możesz wykorzystać również w przypadku pracy z innymi technologiami.
Kurs został przygotowany z myślą o osobach, które znają już React oraz TypeScript i chcą dowiedzieć się w jaki sposób połączyć te umiejętności. Materiał niemal całkowicie pomija informacje na temat mechanizmów Reacta oraz TypeScript'u. Jeżeli potrzebujesz poszerzyć swoją wiedzę na ich temat, zapraszamy Cię do naszych pozostałych kursów.
W tej lekcji pokażę Ci w jaki sposób skonfigurować swój start.
W zasadzie podłączyć go do istniejącego, który jak.
W tym celu mamy tutaj bardzo prosty projekt.
Jest to po prostu projekt wygenerowany z pomocą AP.
Natomiast zawiera takie podstawowe komponenty i jednocześnie jest świetnym
przykładem do tego, aby podłączyć do niego taczkę.
Zatem w pierwszej kolejności musimy zainstalować odpowiednie zależności.
Przede wszystkim musimy zainstalować
samego klienta oraz odpowiednie definicje typów.
Dla noda, React, DOM oraz biblioteki jest o ile z nich korzystamy.
W momencie gdy to zrobimy, kolejnym krokiem będzie zamiana plików.
Jest na rozszerzenie ts ext.
Dokładnie analogicznie jak mieliśmy to w poprzednich lekcjach.
Zatem teraz wykorzystując magię kina dokładnie to teraz zrobię.
W tym momencie wszystkie zależności
zostały zainstalowane, a rozszerzenia plików zostały zmienione.
Ostatnim krokiem jaki nam tutaj pozostał
jest wygenerowanie pliku konfiguracyjnego ts config.
W momencie gdy taki plik się pojawia ma taką podstawową konfiguracja.
Natomiast ja teraz wkleję swoją
konfigurację, którą dołączam do zasobów tej lekcji.
Tak naprawdę nie jest to moja
konfiguracja, tylko po prostu podałem ją z sieci i wykorzystuję w swoich projektach.
Znajdziesz tutaj również opisy poszczególnych właściwości i tak naprawdę
to co powinieneś zrobić to przede wszystkim skupić się na tym, aby
dostosować to, jak surowo będzie tutaj interpretował nasz kod.
Przykładowo, jeżeli nasz projekt jest rozwinięty, to będziemy chcieli stopniowo
integrować z nim tej płyty, w związku z czym będziemy chcieli wyłączyć np.
po to, aby nasz projekt w ogóle się uruchomił.
Dodatkowo mamy tutaj opcję no limit, którą
ustawiam na to ze względu na to, że nie chcę aby to skrypt przetwarzał mój
projekt, tylko żeby zajął się tym skonfigurowany już jak scripts.
Zatem sytuacja wygląda tak, że teraz prawdopodobnie możemy po prostu uruchomić
nasz projekt i zobaczyć czy wszystko jest w porządku.
Wygląda na to, że mamy tutaj błąd
znajdujący się w pliku index TSS, w którym wywołujemy funkcję Report Web Site.
Jeżeli teraz podajemy sobie błąd, to
zobaczymy, że oczekiwany jest tutaj jeden argument.
Nie przekazujemy żadnego.
Zatem tak jak mówi komentarz, możemy
przekazać tutaj chociażby console log, ale to również nie rozwiąże naszego
problemu, a przynajmniej rozwiązało 1, ale stworzyło kolejne.
Jeżeli przejdziemy sobie do definicji tej
funkcji, to zobaczymy, że przekazywany tutaj parametr nie posiada żadnego typu.
No i będziemy musieli go dodać.
Tylko pytanie co tutaj dokładnie musimy podać?
Wiemy, że przekazaliśmy tam funkcję, więc
jeżeli ustawię teraz tutaj typ na function, no to otrzymujemy tutaj kolejny
błąd, który informuje nas o tym, że potrzebujemy tutaj raport Chandlera.
Czyli generalnie mamy tutaj jasną
informację o typie, który musimy wykorzystać w momencie, gdy to zrobimy.
Dostajemy błąd informujący nas o tym, że musimy ten typ zaimportować i w przypadku
IntelliJ, z którego aktualnie korzystam jak widzisz wystarczyło wcisnąć skrót
klawiszowy Command Center i skorzystać z dostępnej funkcji.
Teraz jeszcze mamy mały Warning
informujący nas o tym, że ten typ nie jest tutaj wymagany ze względu na to, że na
pewno mamy tutaj do czynienia z report bledem.
W związku z tym pozbyliśmy się wszystkich błędów i jesteśmy gotowi do tego, aby
dalej kontynuować pracę nad rozwojem naszej aplikacji.
Oczywiście im bardziej złożona aplikacja,
tym więcej pracy musimy włożyć wytypowanie naszego kodu.
Natomiast zwracam jeszcze raz uwagę na to,
aby ewentualnie posłużyć się tutaj opcjami, które zmniejszą wrażliwość
skryptu i pozwolą nam na większą elastyczność.
Oczywiście zachęcam do tego, aby z czasem
włączać kolejne opcje i pokrywać z typami kolejne fragmenty naszej aplikacji.
Natomiast to już będzie działo się
stopniowo, z czasem i w zależności od możliwości, którymi dysponujesz.
Jeżeli chodzi o samą konfigurację
TypeScript, to w projekcie jak to byłoby na tyle?
A ja zapraszam Cię teraz do kolejnej lekcji.
Instalacja zależności · 1 min
npm install-save typescript @types/node @types/react @types/react-dom @types/jest