Weitere Routen
Teil des Abschnitts Express-Grundlagen der Node.js-Journey von Coddy. Lektion 3 von 23.
Eine Website hat mehr als eine Seite, daher benötigt der Server für jeden Pfad eine Route.
app.get('/books', (req, res) => {
res.send('12 books on the shelf');
});
app.get('/opening-hours', (req, res) => {
res.send('Monday to Friday, 10 to 6');
});Express liest den Pfad jeder Anfrage und ruft die Route mit diesem Pfad auf: GET /books erreicht die erste Funktion, GET /opening-hours die zweite. Für einen Pfad ohne Route zeigt Express seine eigene 404-Seite an. Der Pfad einer Route beginnt immer mit /.
Recipe Box ist wieder da, mit einer Datei data.js, die vier Rezepte enthält, und einer Route /recipes, die deren Titel auflistet.
Aufgabe
EinfachRecipe Box braucht neben der Startseite und der Rezeptliste als Nächstes eine About-Seite.
- Füge in
server.jsan der Stelle, an der der Kommentar// Add the /about page here.steht, eine Route für den Pfad/abouthinzu. Sie sendet diesen Satz, einschließlich des abschließenden Punktes:Recipe Box collects family recipes. - Lass die Routen
/und/recipesunverändert.
Probiere es aus: Drücke auf „Ausführen“ und sende /about. Du solltest Recipe Box collects family recipes. sehen. Sende /recipes: die vier Rezepttitel, jeweils einen pro Zeile. Sende dann /about-us. Keine Route hat diesen Pfad, deshalb antwortet Express mit dem Status 404 und Cannot GET /about-us. Die Liste der Pfade in der Anfrageleiste zeigt die Routen deiner App.
Probier es selbst
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// type('text') sendet einfachen Text, sodass jeder Titel in einer eigenen Zeile erscheint.
app.get('/recipes', (req, res) => {
res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});
// Füge hier die Seite /about hinzu.
app.listen(3000, () => {
console.log('Recipe Box is running on port 3000');
});
Alle Lektionen in Express-Grundlagen
Übe selbstständig: Express-Playground