Menu
CoddyTech

Thêm tuyến đường

Thuộc phần Kiến thức cơ bản về Express trong hành trình Node.js của Coddy. Bài học 3 trên 23.

Một trang web có nhiều trang, vì vậy máy chủ cần một tuyến cho mỗi đường dẫn.

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 đọc đường dẫn của từng yêu cầu và gọi tuyến có đường dẫn đó: GET /books gọi hàm đầu tiên, còn GET /opening-hours gọi hàm thứ hai. Đường dẫn không có tuyến sẽ hiển thị trang 404 riêng của Express. Đường dẫn của một tuyến luôn bắt đầu bằng /.

Recipe Box đã quay lại, với tệp data.js chứa bốn công thức và tuyến /recipes liệt kê tên các công thức đó.

challenge icon

Thử thách

Dễ

Recipe Box cần có trang giới thiệu bên cạnh trang chủ và danh sách công thức nấu ăn.

  1. Trong server.js, tại vị trí có chú thích // Add the /about page here., hãy thêm một route cho đường dẫn /about. Route này gửi câu sau, bao gồm cả dấu chấm: Recipe Box collects family recipes.
  2. Giữ nguyên các route / và /recipes.

Thử nhé: Nhấn Chạy và gửi /about. Bạn sẽ thấy Recipe Box collects family recipes. Gửi /recipes: bạn sẽ thấy bốn tiêu đề công thức nấu ăn, mỗi tiêu đề trên một dòng. Sau đó, gửi /about-us. Không có route nào dùng đường dẫn đó, nên Express phản hồi với trạng thái 404 và Cannot GET /about-us. Danh sách đường dẫn trong thanh yêu cầu cho biết các route mà ứng dụng của bạn có.

Tự làm thử

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

const app = express();

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

// type('text') gửi văn bản thuần, nên mỗi tiêu đề hiển thị trên một dòng riêng.
app.get('/recipes', (req, res) => {
    res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});

// Thêm trang /about vào đây.

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

Tất cả bài học trong Kiến thức cơ bản về Express

Tự luyện tập: Playground Express