Express.js-tutorial: stap voor stap een Node-server bouwen

Express.js-tutorial

Express.js-tutorial: routes, middleware, JSON, Express 5 | We.Inc

Bouw stap voor stap een Express 5-server: routes, middleware, JSON-bodies, statische bestanden en een error handler, plus een startgenerator en de wijzigingen van v4 naar v5.

Express is een klein webframework voor Node.js. Installeer het met npm install express, maak een app met express(), voeg routes toe zoals app.get('/', handler), en start hem met app.listen(3000). Middleware zoals express.json() draait vóór uw routes, en een error handler met vier argumenten komt als laatste.

Bouwstenen van Express

De meeste Express-tutorials tonen nog code voor versie 4 die op versie 5, inmiddels de standaardinstallatie, breekt of waarschuwingen geeft. Deze uitleg gebruikt overal Express 5, genereert een startserver met de onderdelen die u aanvinkt, en eindigt met een tabel van de wijzigingen waar mensen over struikelen bij het upgraden van een ouder project.

Veelgestelde vragen

Welke Node.js-versie heeft Express 5 nodig?

Express 5 vereist Node.js 18 of nieuwer. Als u vastzit aan een oudere Node, blijf dan op Express 4 totdat u de runtime kunt upgraden.

Waarom is req.body undefined?

Er is voor dat verzoek geen body parser uitgevoerd. Voeg vóór uw routes app.use(express.json()) toe voor JSON of express.urlencoded() voor formulierposts, en zorg dat de client een passende Content-Type-header stuurt. In Express 5 is een niet-geparste body undefined in plaats van een leeg object.

Hoe schrijf ik een catch-all route in Express 5?

Wildcards moeten nu een naam hebben. Gebruik app.get('/*splat', handler) in plaats van '/*'. Om ook het rootpad te matchen, zet u het tussen accolades: '/{*splat}'.

Wat doet next()?

Het geeft het verzoek door aan de volgende passende middleware of route. Roep next() aan om door te gaan, next(err) om naar de error handlers te springen, of stuur een antwoord om de keten te stoppen. Als u beide vergeet, blijft het verzoek hangen.

Moet ik nog body-parser gebruiken?

Niet voor JSON en formulierdata. express.json() en express.urlencoded() zijn ingebouwd. Let op: in Express 5 staat de optie extended van de urlencoded parser standaard op false.

Routes en parameters

Middleware in één alinea

Een project opzetten

Installeren en starten

Maak een map, initialiseer package.json, markeer het als ES module-project en installeer Express.

Routes in een eigen bestand

Een router is een mini-app. Koppel hem onder een prefix, zodat elk pad erin relatief daaraan is.

Async fouten bereiken de error handler

In Express 5 wordt een afgewezen promise in een route voor u doorgestuurd. De handler met vier argumenten, als laatste geregistreerd, maakt er een antwoord van.

Van Express 4 naar 5: wat is er veranderd

Express levert codemods voor veel hiervan: npx codemod@latest @expressjs/v5-migration-recipe.

Express 4-code en de vervanging in Express 5

Generator voor een startserver

Moduleformaat

ES modules (import)

CommonJS (require)

Opnemen

JSON-body parsing

Statische bestanden uit public/

Voorbeeldroutes met een URL-parameter

404-antwoord voor onbekende paden

Error handler

Poort

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap