Tutorial Express.js: crea un server Node passo dopo passo

Tutorial Express.js

Tutorial Express.js: route, middleware, JSON, Express 5 | We.Inc

Crea un server Express 5 passo dopo passo: route, middleware, body JSON, file statici e un gestore degli errori, più un generatore di server iniziale e le modifiche da v4 a v5.

Express è un piccolo framework web per Node.js. Installalo con npm install express, crea un'app con express(), aggiungi route come app.get('/', handler) e avviala con app.listen(3000). I middleware come express.json() vengono eseguiti prima delle tue route, e un gestore degli errori con quattro argomenti va per ultimo.

I mattoni di Express

La maggior parte dei tutorial su Express mostra ancora codice della versione 4 che si rompe o genera avvisi con la versione 5, che ora è quella installata per impostazione predefinita. Questa guida usa Express 5 dall'inizio alla fine, genera un server iniziale con le parti che spunti, e si chiude con una tabella delle modifiche che mettono in difficoltà chi aggiorna un progetto più vecchio.

Domande frequenti

Quale versione di Node.js richiede Express 5?

Express 5 richiede Node.js 18 o successivo. Se sei bloccato su un Node più vecchio, resta su Express 4 finché non puoi aggiornare il runtime.

Perché req.body è undefined?

Nessun parser del body è stato eseguito per quella richiesta. Aggiungi app.use(express.json()) per il JSON o express.urlencoded() per l'invio di moduli prima delle tue route, e assicurati che il client invii un header Content-Type corrispondente. In Express 5 un body non analizzato è undefined invece di un oggetto vuoto.

Come scrivo una route catch-all in Express 5?

Ora i wildcard devono avere un nome. Usa app.get('/*splat', handler) invece di '/*'. Per includere anche il percorso radice, racchiudilo tra graffe: '/{*splat}'.

Cosa fa next()?

Passa la richiesta al middleware o alla route successiva che corrisponde. Chiama next() per continuare, next(err) per saltare ai gestori degli errori, oppure invia una risposta per fermare la catena. Dimenticare entrambe le cose lascia la richiesta in sospeso.

Dovrei usare ancora body-parser?

Non per JSON e dati dei moduli. express.json() ed express.urlencoded() sono integrati. Nota che in Express 5 l'opzione extended del parser urlencoded vale false per impostazione predefinita.

Route e parametri

I middleware in un paragrafo

Configurare un progetto

Installare ed eseguire

Crea una cartella, inizializza package.json, contrassegnalo come progetto ES module e installa Express.

Route in un file a parte

Un router è una mini app. Montalo sotto un prefisso così ogni percorso al suo interno è relativo a esso.

Gli errori async arrivano al gestore degli errori

In Express 5 una promise rifiutata in una route viene inoltrata per te. L'handler a quattro argomenti, registrato per ultimo, la trasforma in una risposta.

Da Express 4 a 5: cosa è cambiato

Express fornisce codemod per molti di questi casi: npx codemod@latest @expressjs/v5-migration-recipe.

Codice Express 4 e il suo sostituto in Express 5

Generatore di server iniziale

Formato dei moduli

ES modules (import)

CommonJS (require)

Includi

Parsing del body JSON

File statici da public/

Route di esempio con un parametro URL

Risposta 404 per percorsi sconosciuti

Gestore degli errori

Porta

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito