Jak (i dlaczego) powinieneś używać TypeScript z Node i Express.

Możemy używać autocomplete w klasach, które zostały zaimportowane z innych plików.

Trudność utrzymania jest jednym z głównych powodów, dla których programiści Java i C # unikają migracji dużych projektów do JS. Można powiedzieć, że Typescript jest językiem korporacyjnym, który pokonuje tę barierę.

Jak skonfigurować projekt Express z językiem Typescript

Zróbmy teraz krok po kroku, aby stworzyć środowisko do korzystania z języka Typescript w ramach projektu Express.js.

npm init

Zainstalujmy teraz pakiet typescript.

npm install typescript -s

O pakiecie node Typescript

Node.js jest silnikiem, który uruchamia Javascript, a nie Typescript. Pakiet node Typescript pozwala na transpilowanie plików .ts do skryptów .js. Babel może być również używany do transpilowania Typescript, jednak standardem rynkowym jest używanie oficjalnego pakietu Microsoft.

Wewnątrz naszego package.json umieścimy skrypt o nazwie tsc:

"scripts": {
"tsc": "tsc"
},

Modyfikacja ta pozwala nam na wywoływanie funkcji Typescript z linii poleceń w folderze projektu. Możemy więc użyć następującego polecenia:

npm run tsc -- --init

To polecenie inicjalizuje projekt typescriptowy poprzez utworzenie pliku tsconfig.json. Wewnątrz tego pliku odkomentujemy opcję outDir i wybierzemy lokalizację, do której mają być dostarczane transpilowane pliki .js:

Instalacja express.js

npm install express -s

Pakiety Express i Typescript są niezależne. Konsekwencją tego jest to, że Typescript nie „zna” typów klas Express. Istnieje specjalny pakiet npm dla Typescript, aby rozpoznać typy Express.

npm install @types/express -s

Hello world

Aby mieć jak najprostszą aplikację, użyję przykładu hello world z express.js tutorial:

https://expressjs.com/pt-br/starter/hello-world.html

Wewnątrz naszego projektu utworzymy folder o nazwie app. Wewnątrz tego folderu utworzymy plik o nazwie app.ts o następującej zawartości:

Kompilacja naszej pierwszej aplikacji:

npm run tsc

Jak widać, polecenie automatycznie utworzyło folder build oraz plik .js.

Uruchomienie expressa:

node build/app.js

Dzięki temu mamy już uruchomiony serwer na porcie 3000:

Uruchamianie TypeScript bez transpilacji

Możemy uruchomić typescript bezpośrednio na węźle za pomocą pakietu ts-node.

Ten pakiet jest zalecany tylko do rozwoju. Aby dokonać ostatecznego wdrożenia w produkcji, zawsze używaj wersji javascript w swoim projekcie.

Pakiet ts-node jest już dołączony jako zależność do innego pakietu, tts-node-dev. Po zainstalowaniu ts-node-dev możemy uruchomić komendy, które restartują serwer za każdym razem, gdy zmieni się plik projektu.

npm install ts-node-dev -s

Wewnątrz naszego packege.json dodamy jeszcze dwa skrypty:

"scripts": {
"tsc": "tsc",
"dev": "ts-node-dev --respawn --transpileOnly ./app/app.ts",
"prod": "tsc && node ./build/app.js"
},

Aby uruchomić środowisko programistyczne:

npm run dev

Aby uruchomić serwer w trybie produkcyjnym:

npm run prod

Finalny projekt można znaleźć w repozytorium github:

Subskrybuj Decoded, nasz oficjalny kanał na YouTube!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.