Express.js Tutorial: Einen Node-Server Schritt für Schritt bauen

Express.js Tutorial

Express.js Tutorial: Routen, Middleware, JSON, Express 5 | We.Inc

Baue Schritt für Schritt einen Express-5-Server: Routen, Middleware, JSON-Bodys, statische Dateien und ein Error Handler, dazu ein Starter-Generator und die Änderungen von v4 zu v5.

Express ist ein kleines Web-Framework für Node.js. Installiere es mit npm install express, erstelle eine App mit express(), füge Routen wie app.get('/', handler) hinzu und starte sie mit app.listen(3000). Middleware wie express.json() läuft vor deinen Routen, und ein Error Handler mit vier Argumenten kommt ans Ende.

Bausteine von Express

Die meisten Express-Tutorials zeigen noch Code für Version 4, der unter Version 5, inzwischen die Standardinstallation, bricht oder Warnungen ausgibt. Diese Anleitung nutzt durchgehend Express 5, erzeugt einen Starter-Server mit den Teilen, die du anhakst, und endet mit einer Tabelle der Änderungen, über die Leute beim Upgrade eines älteren Projekts stolpern.

Häufige Fragen

Welche Node.js-Version braucht Express 5?

Express 5 erfordert Node.js 18 oder neuer. Wenn du auf einer älteren Node-Version festsitzt, bleib bei Express 4, bis du die Laufzeitumgebung aktualisieren kannst.

Warum ist req.body undefined?

Für diese Anfrage lief kein Body-Parser. Füge vor deinen Routen app.use(express.json()) für JSON oder express.urlencoded() für Formulardaten hinzu und stell sicher, dass der Client einen passenden Content-Type-Header sendet. In Express 5 ist ein nicht geparster Body undefined statt eines leeren Objekts.

Wie schreibe ich in Express 5 eine Catch-all-Route?

Wildcards müssen jetzt benannt werden. Nutze app.get('/*splat', handler) statt '/*'. Um auch den Root-Pfad zu treffen, setze ihn in geschweifte Klammern: '/{*splat}'.

Was macht next()?

Es übergibt die Anfrage an die nächste passende Middleware oder Route. Rufe next() auf, um fortzufahren, next(err), um zu den Error Handlern zu springen, oder sende eine Antwort, um die Kette zu beenden. Wenn du beides vergisst, hängt die Anfrage.

Sollte ich noch body-parser verwenden?

Nicht für JSON und Formulardaten. express.json() und express.urlencoded() sind eingebaut. Beachte, dass in Express 5 die Option extended des urlencoded-Parsers standardmäßig false ist.

Routen und Parameter

Middleware in einem Absatz

Ein Projekt einrichten

Installieren und starten

Erstelle einen Ordner, initialisiere package.json, markiere es als ES-Modul-Projekt und installiere Express.

Routen in einer eigenen Datei

Ein Router ist eine Mini-App. Binde ihn unter einem Präfix ein, damit jeder Pfad darin relativ dazu ist.

Asynchrone Fehler erreichen den Error Handler

In Express 5 wird ein abgelehntes Promise in einer Route für dich weitergereicht. Der Handler mit vier Argumenten, zuletzt registriert, macht daraus eine Antwort.

Express 4 zu 5: was sich geändert hat

Express liefert für viele davon Codemods mit: npx codemod@latest @expressjs/v5-migration-recipe.

Code für Express 4 und sein Ersatz in Express 5

Generator für einen Starter-Server

Modulformat

ES-Module (import)

CommonJS (require)

Einschließen

JSON-Body-Parsing

Statische Dateien aus public/

Beispielrouten mit einem URL-Parameter

404-Antwort für unbekannte Pfade

Error Handler

Port

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap