Więcej tras
Część sekcji Podstawy Express ścieżki Node.js w Coddy. Lekcja 3 z 23.
Witryna ma więcej niż jedną stronę, więc serwer potrzebuje trasy dla każdej ścieżki.
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 odczytuje ścieżkę każdego żądania i wywołuje trasę przypisaną do tej ścieżki: GET /books trafia do pierwszej funkcji, a GET /opening-hours do drugiej. Ścieżka bez przypisanej trasy wyświetla własną stronę 404 Express. Ścieżka trasy zawsze zaczyna się od /.
Recipe Box powraca, tym razem z plikiem data.js zawierającym cztery przepisy oraz trasą /recipes, która wyświetla ich tytuły.
Wyzwanie
ŁatwyRecipe Box potrzebuje strony About obok strony głównej i listy przepisów.
- W pliku
server.js, w miejscu komentarza// Add the /about page here., dodaj trasę dla ścieżki/about. Ma ona wysyłać to zdanie, łącznie z kropką:Recipe Box collects family recipes. - Pozostaw trasy
/i/recipesbez zmian.
Wypróbuj: Naciśnij Run i wyślij żądanie do /about. Powinien wyświetlić się tekst Recipe Box collects family recipes. Wyślij żądanie do /recipes: cztery tytuły przepisów, po jednym w każdym wierszu. Następnie wyślij żądanie do /about-us. Żadna trasa nie ma tej ścieżki, więc Express odpowiada kodem statusu 404 i komunikatem Cannot GET /about-us. Lista ścieżek na pasku żądań pokazuje trasy dostępne w aplikacji.
Spróbuj swoich sił
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// type('text') wysyła zwykły tekst, więc każdy tytuł pojawia się w osobnym wierszu.
app.get('/recipes', (req, res) => {
res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});
// Dodaj tutaj stronę /about.
app.listen(3000, () => {
console.log('Recipe Box is running on port 3000');
});
Wszystkie lekcje w sekcji Podstawy Express
Poćwicz samodzielnie: Edytor online Express