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 đó.
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.
- 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. - 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
1Máy chủ đầu tiên của bạn
Xin chào, ExpressModule httpThêm tuyến đườngTham số tuyến đườngTự luyện tập: Playground Express