В Express.js, routing это ключевая концепция, которая позволяет вам определить, как ваше приложение обрабатывает входящие HTTP-запросы от пользователей. Маршруты позволяют указать определенные действия, когда пользователи отправляют запросы на определенные URL-адреса в вашем приложении.
Шаг 1: Создание базового Route
Чтобы создать route in Express.js, вы используете app.METHOD(PATH, HANDLER)
метод объекта приложения( app
) для регистрации a route для определенного метода HTTP METHOD и пути PATH. HANDLER — это функция-обработчик, которая будет вызываться, когда запрос попадает в этот файл route.
Например, чтобы создать объект route, который обрабатывает GET
запрос к /hello
, вы можете использовать следующий код:
app.get('/hello',(req, res) => {
res.send('Hello, this is the /hello route!');
});
Шаг 2. Обработка запросов и ответов
В функции-обработчике вы можете обрабатывать входящие запросы от пользователей и отвечать, используя объекты req
(запрос) и res
(ответ). Объект req
содержит информацию о входящем запросе, такую как параметры URL, отправленные данные, IP-адрес отправителя и т. д. Объект res
содержит методы для ответа на запрос, такие как res.send()
, res.json()
, res.render()
и т. д.
Шаг 3: Обработка нескольких маршрутов
Express.js позволяет вам определить несколько маршрутов для одного и того же URL с разными методами HTTP. Например:
app.get('/hello',(req, res) => {
res.send('Hello, this is the GET /hello route!');
});
app.post('/hello',(req, res) => {
res.send('Hello, this is the POST /hello route!');
});
Шаг 4: Обработка динамических параметров
Вы также можете определить маршруты, содержащие динамические параметры, определяемые двоеточием( :
). Например:
app.get('/users/:id',(req, res) => {
const userId = req.params.id;
res.send(`Hello, this is the GET /users/${userId} route!`);
});
Когда пользователь делает запрос к /users/123
, userId
переменная будет иметь значение «123».
Шаг 5: Разделите Routing с помощью модулей
В больших проектах вы можете захотеть разделить маршруты на отдельные файлы, чтобы ваш исходный код был организован и управляем. Вы можете использовать module.exports
для определения маршрутов в отдельных файлах, а затем импортировать их в основной файл. Например:
// routes/users.js
const express = require('express');
const router = express.Router();
router.get('/profile',(req, res) => {
res.send('This is the /profile route in users.js!');
});
module.exports = router;
// app.js
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
Шаг 6: Обработка несуществующих маршрутов
Наконец, если пользователь запрашивает несуществующий файл route, вы можете определить 404 route для его обработки. Это делается путем установки значения по умолчанию route в конце вашего основного файла:
app.use((req, res, next) => {
res.status(404).send('Route not found!');
});
Мы научились создавать и обрабатывать маршруты в Express.js. Используя эту функцию, вы можете гибко и эффективно настраивать и обрабатывать пользовательские запросы, делая ваше приложение более адаптируемым и масштабируемым. Продолжайте исследовать и использовать маршруты для создания многофункциональных и фантастических веб-приложений!