Installare Node.js e configurare l'ambiente di sviluppo

LT
Luca Terribili
Autore

Per sviluppare un backend con Node.js, Express e MongoDB è necessario preparare correttamente l'ambiente di sviluppo. Node.js permette di eseguire JavaScript sul server, mentre npm consente di installare le librerie necessarie e gestire le dipendenze del progetto.

In questa guida vedremo come verificare l'installazione di Node.js, controllare la versione di npm e creare il primo progetto backend. Configureremo inoltre la struttura iniziale del progetto e installeremo Express e gli strumenti necessari per utilizzare TypeScript.

L'obiettivo è arrivare a un ambiente di sviluppo funzionante, pronto per ospitare un'API REST. Ogni comando verrà spiegato, così da comprendere non soltanto come configurare il progetto, ma anche il ruolo dei file e delle dipendenze che verranno creati.

Verificare l'installazione di Node.js e npm

Prima di iniziare, controlliamo che Node.js e npm siano disponibili nel terminale. Apriamo una shell ed eseguiamo:

node --version
npm --version

Il comando node --version restituisce la versione di Node.js installata, mentre npm --version mostra la versione del gestore dei pacchetti npm.

Se entrambi i comandi restituiscono una versione numerica, l'ambiente è pronto per proseguire. Se il terminale segnala che un comando non esiste, bisogna installare Node.js o correggere la configurazione del PATH.

Per questo progetto utilizzeremo una versione LTS di Node.js quando disponibile e compatibile con le dipendenze scelte. Una versione LTS è generalmente preferibile per lo sviluppo di applicazioni backend destinate a un utilizzo stabile.

Creare un progetto Node.js

Creiamo una directory dedicata al backend e spostiamoci al suo interno:

mkdir -p ~/dev/node-study
cd ~/dev/node-study

Il comando mkdir crea la directory del progetto. L'opzione -p permette di creare anche le directory intermedie mancanti, mentre cd cambia la directory di lavoro del terminale.

Possiamo verificare il percorso corrente con:

pwd

Mantenere ogni progetto in una directory dedicata aiuta a separare il codice, le dipendenze e la configurazione dagli altri lavori presenti sul sistema.

Inizializzare npm e creare package.json

Per inizializzare il progetto eseguiamo:

npm init -y

Questo comando genera il file package.json, che rappresenta il manifesto del progetto Node.js. Contiene informazioni come il nome del progetto, la versione, le dipendenze e gli script utilizzabili per avviare operazioni ricorrenti.

L'opzione -y accetta automaticamente i valori predefiniti, evitando le domande interattive di npm.

Tra poco useremo package.json per definire i comandi di sviluppo e compilazione del backend. È quindi un file centrale nella configurazione del progetto, non un semplice documento descrittivo.

Installare Express per creare un backend REST

Express è un framework web per Node.js che semplifica la creazione di server HTTP e API REST. Permette di definire endpoint, gestire le richieste e organizzare il codice tramite middleware.

Installiamolo con:

npm install express

npm scarica Express e le sue dipendenze, aggiorna package.json e crea o aggiorna package-lock.json, che registra le versioni risolte dei pacchetti.

Le librerie installate vengono collocate nella directory node_modules. Questa directory non viene normalmente inclusa nel repository Git, perché può essere ricreata installando le dipendenze dichiarate nel progetto.

Express è una dipendenza necessaria anche quando il backend viene eseguito in produzione, perciò viene registrato tra le dipendenze ordinarie.

Configurare TypeScript per Node.js

Utilizzeremo TypeScript per definire i tipi dei dati e individuare numerosi errori durante lo sviluppo. Per installare il compilatore e gli strumenti necessari eseguiamo:

npm install -D typescript @types/node @types/express tsx

L'opzione -D, equivalente a --save-dev, registra i pacchetti come dipendenze di sviluppo.

  • typescript fornisce il compilatore tsc.
  • @types/node contiene le definizioni TypeScript delle API di Node.js.
  • @types/express contiene le definizioni di tipo per Express.
  • tsx permette di eseguire file TypeScript durante lo sviluppo senza dover avviare manualmente una compilazione completa a ogni modifica.

È importante distinguere l'esecuzione dal controllo dei tipi. tsx trasforma ed esegue il codice, ma non sostituisce il controllo statico effettuato da tsc. Nel corso del tutorial configureremo entrambi gli strumenti.

Verificare le dipendenze installate

Per controllare i pacchetti installati direttamente nel progetto eseguiamo:

npm ls --depth=0

Il comando mostra le dipendenze principali senza elencare ricorsivamente tutti i pacchetti da cui dipendono.

Se l'installazione è riuscita, dovremmo trovare Express tra le dipendenze e TypeScript, le definizioni di tipo e tsx tra quelle di sviluppo.

A questo punto il progetto Node.js è inizializzato e dispone degli strumenti di base per creare il backend. Non abbiamo ancora avviato il server: nella prossima lezione configureremo TypeScript e il sistema dei moduli, prima di scrivere il primo endpoint HTTP.

Conclusione

Abbiamo preparato l'ambiente necessario per sviluppare un backend con Node.js, Express e TypeScript. Abbiamo verificato le versioni di Node.js e npm, creato il progetto, inizializzato package.json e installato le dipendenze principali.

Questa configurazione sarà la base delle prossime lezioni. Nel prossimo articolo vedremo come configurare TypeScript con Node.js, comprendere il ruolo di tsconfig.json e distinguere gli strumenti utilizzati per eseguire il codice da quelli utilizzati per controllarlo.