Moduł http
Część sekcji Podstawy Express ścieżki Node.js w Coddy. Lekcja 2 z 23.
Express wykonuje za ciebie pracę, której nie widzisz. Pokazuje to własny moduł Node node:http, na którym opiera się Express.
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 wywołuje funkcję dla każdego żądania. Nie ma tu tras: samodzielnie porównujesz req.url, czyli ścieżkę, o którą poproszono. res.statusCode to kod statusu, liczba informująca o wyniku: 200 oznacza, że wszystko jest w porządku, a 404 — że nie znaleziono. res.end wysyła treść i kończy odpowiedź, więc ustaw status przed jego wywołaniem.
Wyzwanie
ŁatwyZanim przejdziesz dalej do Express, napisz mały serwer z użyciem własnego modułu Node node:http, aby zobaczyć, jaką pracę wykonuje za ciebie Express.
- W pliku
server.js, wewnątrz funkcji przekazanej dohttp.createServer, sprawdźreq.url. Gdy ma wartość/, wyślij tekstHome. - Dla każdej innej ścieżki ustaw kod statusu na 404 i wyślij tekst
Not found. Ustaw status, zanim wyślesz odpowiedź. Gdy odpowiedź zostanie zakończona, jej statusu nie można już zmienić.
Wypróbuj: Naciśnij „Uruchom” i wyślij /. Powinien pojawić się tekst Home ze statusem 200. Wyślij /nope, a następnie /recipes/today. W obu przypadkach powinien pojawić się tekst Not found ze statusem 404. W lekcji 1 Express wysłał za ciebie tę odpowiedź 404; tutaj napiszesz ją samodzielnie.
Spróbuj swoich sił
import http from 'node:http';
const server = http.createServer((req, res) => {
// Odpowiedz Home dla ścieżki /, a 404 Not found dla każdej innej ścieżki.
res.end('Hello from Node');
});
server.listen(3000, () => {
console.log('Listening on port 3000');
});
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy Express
Poćwicz samodzielnie: Edytor online Express