Ein Webserver mit Express.js
Express.js macht das Bauen von Webservern in Node.js einfach. Hier startest du deinen ersten Server, definierst Routen und sendest Antworten.
Mit reinem Node.js einen Webserver zu bauen, ist möglich, aber umständlich. Genau hier kommt Express.js ins Spiel – das beliebteste Framework für Node. Es nimmt dir viel Arbeit ab und macht das Definieren von Routen zum Kinderspiel. In diesem Beitrag startest du deinen ersten Express-Server.
Was ist Express.js?
Express ist ein schlankes Web-Framework für Node.js. Es hilft dir, HTTP-Anfragen entgegenzunehmen und passende Antworten zu senden, ohne dass du dich um die technischen Details kümmern musst. Du beschreibst einfach: "Wenn jemand diese URL aufruft, schicke diese Antwort." Das nennt man Routing.
Express installieren
Lege ein neues Projekt an und installiere Express über npm:
mkdir mein-server
cd mein-server
npm init -y
npm install expressDamit ist Express einsatzbereit und steht dir in deinem Projekt zur Verfügung.
Der erste Server
Erstelle eine Datei server.js mit folgendem Inhalt:
const express = require("express");
const app = express();
const PORT = 3000;
app.get("/", (req, res) => {
res.send("Hallo von Express!");
});
app.listen(PORT, () => {
console.log(`Server läuft auf http://localhost:${PORT}`);
});Starte ihn mit node server.js und öffne http://localhost:3000 im Browser. Du siehst deine Begrüßung. Herzlichen Glückwunsch, dein erster Server läuft!
Routen definieren
Eine Route verbindet eine URL und eine HTTP-Methode mit einer Funktion. Du kannst beliebig viele Routen anlegen:
app.get("/about", (req, res) => {
res.send("Über uns");
});
app.get("/kontakt", (req, res) => {
res.send("Kontaktiere uns gerne!");
});Jede Route reagiert auf einen bestimmten Pfad. Das req-Objekt enthält Infos zur Anfrage, mit res sendest du die Antwort.
Dynamische Routenparameter
Oft willst du Teile der URL variabel halten, etwa eine ID. Mit einem Doppelpunkt definierst du einen Routenparameter:
app.get("/users/:id", (req, res) => {
const id = req.params.id;
res.send(`Du hast Nutzer ${id} angefragt`);
});Rufst du /users/42 auf, steht in req.params.id der Wert "42". So baust du flexible Endpunkte für verschiedene Datensätze.
JSON statt Text senden
Für APIs antwortest du meist mit JSON statt mit reinem Text. Express macht das einfach mit res.json:
app.get("/api/status", (req, res) => {
res.json({ status: "ok", zeit: new Date() });
});Der Client bekommt nun ein sauberes JSON-Objekt zurück – perfekt, um es im Frontend weiterzuverarbeiten.
Fazit
Mit Express.js baust du Webserver schnell und elegant. Du hast gelernt, wie du Express installierst, einen Server mit app.listen startest, Routen für verschiedene Pfade definierst, Routenparameter nutzt und mit res.json JSON-Daten sendest. Das ist die Basis für jede Web-API. Im nächsten Beitrag bauen wir darauf auf und erstellen eine vollständige REST-API mit allen wichtigen HTTP-Methoden.