Коли ви будуєте додатки на Node.js з Express.js, ефективне управління маршрутами є критично важливим для масштабування вашого додатку. Ця стаття охоплює реалізацію маршрутів для користувачів, організацію їх у кілька маршрутизаторів, а також реорганізацію файлів проєкту для зручності та підтримуваності.
1. Реалізація маршрутів для користувачів
У будь-якому веб-додатку управління користувачами є поширеною вимогою. Для обробки завдань, пов'язаних з користувачами, створіть окремі маршрути.
Приклад коду:
const express = require('express');
const app = express();
app.use(express.json()); // Проміжне програмне забезпечення для парсингу JSON-запитів
// Маршрути для користувачів
app.get('/users', (req, res) => {
res.status(200).send('Отримати всіх користувачів');
});
app.post('/users', (req, res) => {
const user = req.body;
res.status(201).send(`Користувач ${user.name} створений!`);
});
app.get('/users/:id', (req, res) => {
const { id } = req.params;
res.status(200).send(`Отримати деталі користувача ${id}`);
});
app.delete('/users/:id', (req, res) => {
const { id } = req.params;
res.status(200).send(`Користувач ${id} видалений`);
});
app.listen(3000, () => console.log('Сервер працює на http://localhost:3000'));
2. Створення та підключення кількох маршрутизаторів
Якщо ваш додаток росте, зберігання всіх маршрутів в одному файлі стає обтяжливим. Використання Router
в Express допомагає розділяти обов'язки і зберігати ваш код модульним.
Кроки для налаштування кількох маршрутизаторів:
- Створіть окремий маршрутизатор для користувачів Створіть файл
users.js
в директоріїroutes
:
const express = require('express');
const router = express.Router();
// Визначення маршрутів
router.get('/', (req, res) => res.send('Отримати всіх користувачів'));
router.post('/', (req, res) => res.send('Створити користувача'));
router.get('/:id', (req, res) => res.send(`Отримати користувача ${req.params.id}`));
router.delete('/:id', (req, res) => res.send(`Видалити користувача ${req.params.id}`));
module.exports = router;
2. Підключіть маршрутизатор у головному файлі У вашому файлі index.js
або app.js
:
const express = require('express');
const userRoutes = require('./routes/users');
const app = express();
app.use(express.json()); // Проміжне програмне забезпечення для парсингу JSON-запитів
app.use('/users', userRoutes); // Підключення маршрутизатора користувачів
app.listen(3000, () => console.log('Сервер працює на http://localhost:3000'));
3. Краща структура файлів
Добре структурований додаток легший для підтримки і розуміння. Ось рекомендована структура файлів:
project/
├── routes/
│ ├── users.js
│ ├── products.js
│ └── index.js
├── controllers/
│ ├── userController.js
│ └── productController.js
├── models/
│ ├── user.js
│ └── product.js
├── middlewares/
│ └── logger.js
├── app.js
└── package.json
Пояснення:
routes/
: Містить визначення маршрутів для різних сутностей, таких як користувачі або продукти.controllers/
: Обробляє основну логіку для кожного маршруту.models/
: Визначає моделі та схеми бази даних (якщо ви використовуєте базу даних).middlewares/
: Користувацькі проміжні програмні засоби для завдань, таких як логування чи аутентифікація.app.js
: Точка входу, де підключаються маршрути та проміжні програмні засоби.
Висновок
Реалізуючи маршрути для користувачів, створюючи кілька маршрутизаторів та застосовуючи кращу структуру файлів, ваш додаток на Express.js стає модульним, масштабованим і легким для підтримки. Ці практики є важливими, коли ваш проєкт розвивається до рівня продуктивного додатку.
Почніть з малого, організуйте з розумом і спостерігайте, як ваш додаток процвітає! 🚀
Перекладено з: Implementing the Users Routes, Creating and Mounting Multiple Routers, and Establishing a Better File Structure