Express.js

Минималистичный веб-фреймворк для Node.js (TJ Holowaychuk, 2010). Middleware, роутинг, интеграция с шаблонизаторами. Де-факто стандарт для Node.js бэкенда.

📖3 мин чтения📊Уровень 7📅16 апреля 2026 г.

Загрузка карты...

Что такое 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-пакетов.

Часто задаваемые вопросы

Express минималистичен и не навязывает архитектуру. NestJS построен поверх Express и предоставляет структуру (модули, контроллеры, сервисы), вдохновлённую Angular.