Express.js — это популярный фреймворк для создания веб-приложений на Node.js. Один из ключевых компонентов любого веб-приложения — это маршруты, которые определяют, как приложение реагирует на запросы к определённым URL. В этом ответе мы рассмотрим, как настроить маршруты в Express.js.
Прежде всего, чтобы начать работать с Express.js, необходимо установить его. Вы можете сделать это с помощью npm:
npm install express
После установки, создайте новый файл, например app.js, и добавьте следующий код:
const express = require('express');
const app = express();
const PORT = 3000;
Теперь у нас есть базовая настройка приложения. Далее мы можем настроить маршруты. В Express.js маршруты определяются с помощью метода app.get(), app.post(), app.put() и app.delete(). Рассмотрим пример:
app.get('/', (req, res) => {
res.send('Главная страница');
});
app.get('/about', (req, res) => {
res.send('О нас');
});
В этом примере мы определили два маршрута:
- / — главный маршрут, который отправляет текст ‘Главная страница’.
- /about — маршрут, который отправляет текст ‘О нас’.
Теперь, если мы запустим сервер с помощью:
app.listen(PORT, () => {
console.log(`Сервер запущен на http://localhost:${PORT}`);
});
Вы сможете перейти по адресу http://localhost:3000 и увидеть ‘Главная страница’, а по адресу http://localhost:3000/about — ‘О нас’.
Теперь рассмотрим, как обрабатывать POST запросы. Для этого используем метод app.post(). Например:
app.post('/submit', (req, res) => {
res.send('Данные отправлены');
});
В этом случае, когда отправляется POST запрос на /submit, сервер ответит текстом ‘Данные отправлены’.
Также в Express.js вы можете использовать параметры маршрута. Например:
app.get('/user/:id', (req, res) => {
const userId = req.params.id;
res.send(`Пользователь с ID: ${userId}`);
});
Здесь :id — это параметр, который может принимать любое значение. Если вы сделаете запрос на /user/123, сервер ответит ‘Пользователь с ID: 123’.
Вы также можете добавить проверку параметров с помощью middleware. Например:
app.get('/user/:id', (req, res, next) => {
const userId = req.params.id;
if (!isNaN(userId)) {
next(); // Параметр корректный, продолжаем
} else {
res.status(400).send('ID пользователя должен быть числом'); // Ошибка
}
}, (req, res) => {
const userId = req.params.id;
res.send(`Пользователь с ID: ${userId}`);
});
В этом примере, если id не является числом, сервер вернёт ошибку 400.
Express.js также поддерживает группировку маршрутов с помощью Router. Например:
const router = express.Router();
router.get('/', (req, res) => {
res.send('Главная страница группы');
});
router.get('/about', (req, res) => {
res.send('О нас в группе');
});
app.use('/group', router);
Теперь маршруты /group и /group/about будут доступны через созданный router.
Это были основы настройки маршрутов в Express.js. С помощью этих инструментов вы сможете создавать гибкие и мощные веб-приложения, которые обрабатывают различные типы запросов и маршрутов.
Если вам нужно больше информации, вы можете ознакомиться с официальной документацией Express.js на сайте expressjs.com.