Jak (a proč) byste měli používat TypeScript s Node a Express.

Můžeme použít automatické dokončování ve třídách, které byly importovány z jiných souborů.

Obtížnost údržby je jedním z hlavních důvodů, proč se vývojáři v Javě a C # vyhýbají migraci velkých projektů do JS. Můžeme říci, že Typescript je podnikový jazyk, který tuto bariéru překonává.

Jak nastavit projekt Express s Typescriptem

Pojďme si nyní krok za krokem vytvořit prostředí pro použití jazyka Typescript v rámci Express.js.

npm init

Nainstalujme nyní balíček typescript.

npm install typescript -s

O balíčku Typescript node

Node.js je engine, který spouští Javascript, a ne Typescript. Balíček node Typescript umožňuje transpirovat vaše .ts soubory do .js skriptů. K transpile Typescriptu lze použít také Babel, nicméně standardem na trhu je použití oficiálního balíčku společnosti Microsoft.

Vnitř našeho package.json umístíme skript s názvem tsc:

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

Tato úprava nám umožní volat funkce Typescriptu z příkazového řádku ve složce projektu. Můžeme tedy použít následující příkaz:

npm run tsc -- --init

Tento příkaz inicializuje typescriptový projekt vytvořením souboru tsconfig.json. V tomto souboru odkomentujeme volbu outDir a vybereme umístění pro dodání transpilovaných souborů .js:

Instalace express.js

npm install express -s

Balíčky Express a Typescript jsou nezávislé. Důsledkem toho je, že Typescript „nezná“ typy tříd Express. Pro Typescript existuje specifický balíček npm, který rozpoznává typy Express.

npm install @types/express -s

Hello world

Abych měl co nejjednodušší aplikaci, použiji příklad hello world z Express.js tutoriálu:

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

Vnitř našeho projektu vytvoříme složku app. Uvnitř této složky vytvoříme soubor s názvem app.ts s následujícím obsahem:

Kompilujeme naši první aplikaci:

npm run tsc

Jak vidíte, příkaz automaticky vytvořil složku build a soubor .js.

Spuštění expresu:

node build/app.js

S tím již máme server spuštěný na portu 3000:

Spuštění TypeScriptu bez transpilování

Přímo na uzlu můžete spustit TypeScript pomocí balíčku ts-node.

Tento balíček se doporučuje pouze pro vývoj. Pro finální nasazení ve výrobě vždy používejte javascriptovou verzi projektu.

Balíček ts-node je již obsažen jako závislost na jiném balíčku, tts-node-dev. Po instalaci ts-node-dev můžeme spustit příkazy, které restartují server při každé změně souboru projektu.

npm install ts-node-dev -s

Do našeho packege.json přidáme další dva skripty:

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

Pro spuštění vývojového prostředí:

npm run dev

Pro spuštění serveru v produkčním režimu:

npm run prod

Finální projekt najdete v repozitáři github:

Předplaťte si Decoded, náš oficiální kanál na YouTube!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.