Das http-Modul
Teil des Abschnitts Express-Grundlagen der Node.js-Journey von Coddy. Lektion 2 von 23.
Express übernimmt Arbeit für dich, die du nicht sehen kannst. Das eigene node:http-Modul von Node, auf dem Express aufbaut, zeigt das.
import http from 'node:http';
const server = http.createServer((req, res) => {
if (req.url === '/repairs') {
res.statusCode = 503;
res.end('Repairs are closed today');
return;
}
res.end('Welcome to the bike shop');
});
server.listen(3000);Node ruft die Funktion für jede Anfrage auf. Es gibt keine Routen: Du vergleichst selbst req.url, den angefragten Pfad. res.statusCode ist der Statuscode, eine Zahl, die angibt, wie es gelaufen ist: 200 bedeutet OK, 404 bedeutet nicht gefunden. res.end sendet den Inhalt und schließt die Antwort ab. Setze daher vorher den Status.
Aufgabe
EinfachBevor du mit Express weitermachst, schreibst du einen winzigen Server mit Nodes eigenem Modul node:http, um zu sehen, welche Arbeit Express für dich erledigt.
- Sieh dir in
server.jsinnerhalb der Funktion, die anhttp.createServerübergeben wird,req.urlan. Wenn es/ist, sende den TextHome. - Lege für jeden anderen Pfad den Statuscode auf 404 fest und sende den Text
Not found. Setze den Status, bevor du sendest. Sobald die Antwort beendet wurde, kann ihr Status nicht mehr geändert werden.
Probiere es aus: Drücke auf „Ausführen“ und sende /. Du solltest Home mit dem Status 200 sehen. Sende /nope und danach /recipes/today. Bei beiden sollte Not found mit dem Status 404 angezeigt werden. In Lektion 1 hat Express diesen 404-Statuscode für dich gesendet; hier schreibst du ihn selbst.
Probier es selbst
import http from 'node:http';
const server = http.createServer((req, res) => {
// Beantworte / mit Home und jeden anderen Pfad mit 404 Not found.
res.end('Hello from Node');
});
server.listen(3000, () => {
console.log('Listening on port 3000');
});
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Express-Grundlagen
Übe selbstständig: Express-Playground