Menu
CoddyTech

Дополнительные маршруты

Часть раздела Основы Express путешествия по Node.js на Coddy. Урок 3 из 23.

У сайта больше одной страницы, поэтому серверу нужен маршрут для каждого пути.

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 считывает путь каждого запроса и вызывает маршрут с этим путём: GET /books ведёт к первой функции, GET /opening-hours — ко второй. Для пути без маршрута Express показывает собственную страницу 404. Путь маршрута всегда начинается с /.

Recipe Box возвращается: теперь в нём есть файл data.js с четырьмя рецептами и маршрут /recipes, который выводит их названия.

challenge icon

Задание

Легко

Recipe Box нужна страница «О нас» рядом с главной страницей и списком рецептов.

  1. В server.js, там, где находится комментарий // Add the /about page here., добавь маршрут для пути /about. Он отправляет это предложение, включая точку: Recipe Box collects family recipes.
  2. Оставь маршруты / и /recipes без изменений.

Попробуй: Нажми «Запустить» и отправь запрос к /about. Ты должен увидеть Recipe Box collects family recipes. Отправь запрос к /recipes: четыре названия рецептов, по одному в строке. Затем отправь запрос к /about-us. Ни один маршрут не использует этот путь, поэтому Express отвечает статусом 404 и сообщением Cannot GET /about-us. Список путей в строке запросов показывает маршруты твоего приложения.

Попробуйте сами

import express from 'express';
import { recipes } from './data.js';

const app = express();

app.get('/', (req, res) => {
    res.send('Welcome to Recipe Box');
});

// type('text') отправляет обычный текст, поэтому каждый заголовок отображается на отдельной строке.
app.get('/recipes', (req, res) => {
    res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});

// Добавьте здесь страницу /about.

app.listen(3000, () => {
    console.log('Recipe Box is running on port 3000');
});

Все уроки раздела Основы Express

Потренируйтесь самостоятельно: Песочница Express