Come (e perché) dovresti usare TypeScript con Node ed Express.

Possiamo usare il completamento automatico nelle classi che sono state importate da altri file.

La difficoltà di manutenzione è uno dei motivi principali per cui gli sviluppatori Java e C # evitano di migrare grandi progetti a JS. Possiamo dire che Typescript è un linguaggio enterprise che supera questa barriera.

Come impostare un progetto Express con Typescript

Passiamo ora a creare passo dopo passo un ambiente per utilizzare il linguaggio Typescript in un progetto Express.js.

npm init

Installiamo ora il pacchetto typescript.

npm install typescript -s

Sul pacchetto Typescript node

Node.js è un motore che esegue Javascript e non Typescript. Il pacchetto Typescript di node ti permette di trasporre i tuoi file .ts in script .js. Babel può anche essere usato per transpilare Typescript, tuttavia lo standard di mercato è di usare il pacchetto ufficiale Microsoft.

Dentro il nostro package.json metteremo uno script chiamato tsc:

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

Questa modifica ci permette di chiamare le funzioni Typescript dalla linea di comando nella cartella del progetto. Quindi possiamo usare il seguente comando:

npm run tsc -- --init

Questo comando inizializza il progetto typescript creando il file tsconfig.json. All’interno di questo file decommenteremo l’opzione outDir e sceglieremo una posizione per i file .js transpilati da consegnare:

Installazione express.js

npm install express -s

I pacchetti Express e Typescript sono indipendenti. La conseguenza di ciò è che Typescript non “conosce” i tipi di classi Express. C’è un pacchetto npm specifico per Typescript per riconoscere i tipi Express.

npm install @types/express -s

Hello world

Per avere l’applicazione più semplice possibile, userò l’esempio hello world del tutorial express.js:

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

Dentro il nostro progetto, creeremo una cartella chiamata app. All’interno di questa cartella creeremo un file chiamato app.ts con il seguente contenuto:

Compilazione della nostra prima applicazione:

npm run tsc

Come potete vedere, il comando ha creato automaticamente la cartella build e il file .js.

Eseguire l’espresso:

node build/app.js

Con questo, abbiamo un server già in esecuzione sulla porta 3000:

Eseguire TypeScript senza transpilazione

È possibile eseguire typescript direttamente sul nodo con il pacchetto ts-node.

Questo pacchetto è raccomandato solo per lo sviluppo. Per fare il deploy finale in produzione, usa sempre la versione javascript del tuo progetto.

Il ts-node è già incluso come dipendenza da un altro pacchetto, tts-node-dev. Dopo l’installazione,ts-node-dev possiamo eseguire dei comandi che riavviano il server ogni volta che un file del progetto cambia.

npm install ts-node-dev -s

Nel nostro packege.json aggiungeremo altri due script:

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

Per avviare l’ambiente di sviluppo:

npm run dev

Per eseguire il server in modalità produzione:

npm run prod

Il progetto finale può essere trovato nel repository github:

Sottoscrivi Decoded, il nostro canale YouTube ufficiale!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.