Что такое Express.js
Express.js — это минималистичный веб-фреймворк для Node.js. Node.js позволяет запускать JavaScript на сервере, но из коробки он довольно низкоуровневый. Express добавляет удобный слой: маршрутизацию, обработку запросов, middleware. По аналогии: Node.js — это двигатель автомобиля, Express — кузов и руль.
Express вышел в 2010 году и с тех пор остаётся самым популярным Node.js фреймворком. Его используют для REST API, веб-приложений, прокси-серверов.
Маршрутизация
Маршрут (route) — это соответствие между URL и функцией-обработчиком. Например: GET /users — вернуть список пользователей, POST /users — создать нового. В Express маршруты задаются лаконично:
app.get('/users', (req, res) => res.json(users))
Поддерживаются динамические параметры: /users/:id поймает /users/42, а значение 42 будет в req.params.id.
Middleware — сердце Express
Middleware — это функции, которые обрабатывают запрос до того, как он попадёт в обработчик маршрута. Запрос проходит через цепочку middleware последовательно.
Типичные примеры: парсинг JSON-тела запроса, логирование, проверка аутентификации, обработка CORS. Middleware — это как контрольно-пропускные пункты на пути запроса.
Создание REST API
Express идеально подходит для REST API. Стандартный паттерн: роутер разбивает API на логические группы (пользователи, товары), контроллеры содержат бизнес-логику, сервисы работают с базой данных.
Альтернативы Express: Fastify (быстрее, типобезопасен), Koa (от создателей Express, более современный), Hapi, NestJS (фреймворк поверх Express с Angular-подобной архитектурой). Но Express остаётся стандартом благодаря огромной экосистеме npm-пакетов.
