Коротко: Express.js — минимальный веб-фреймворк для Node.js. Он задаёт маршруты (app.get, app.post), обрабатывает запросы и ответы, подключает middleware. Устанавливается одной командой npm install express.
Основные понятия
| Понятие | Что делает |
|---|---|
| Маршрут | обработчик пути и метода |
| Middleware | промежуточная обработка запроса |
| Request | данные запроса |
| Response | ответ клиенту |
Минимальный сервер
js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Привет!');
});
app.listen(3000, () => console.log('Сервер на 3000'));Эта программа поднимает сервер и отвечает на запрос по корневому адресу. Три строки — и веб-сервер работает.
Вкладки: маршруты и middleware
js
app.get('/users', (req, res) => { … });
app.post('/users', (req, res) => { … });
app.get('/users/:id', (req, res) => {
res.send(req.params.id);
});Маршруты задают по методу и адресу. Параметры вида :id доступны через req.params, а строки запроса — через req.query.
js
app.use((req, res, next) => {
console.log(req.method, req.url);
next();
});Middleware выполняется до маршрута или между ними. next() передаёт управление дальше. Так делают логирование, проверку авторизации, обработку ошибок.
js
app.use(express.json());
app.post('/api/items', (req, res) => {
const { name } = req.body;
res.json({ ok: true, name });
});express.json() позволяет принимать JSON. Это основа REST API: клиент отправляет данные, сервер отвечает JSON-объектом.
Практика: поднять сервер на Express
- Установите Node.js и создайте проект.
- Выполните
npm install express. - Создайте файл сервера и подключите Express.
- Опишите маршруты
getиpost. - Добавьте
express.json()для приёма JSON. - Запустите сервер и проверьте ответы в браузере.
Частые ошибки: причина → решение
| Симптом | Причина | Решение |
|---|---|---|
| «Cannot GET /» | нет нужного маршрута | добавить обработчик |
Не приходит req.body |
нет express.json() |
подключить middleware |
| Порт занят | сервер уже запущен | сменить порт |
| Маршрут не срабатывает | неверный порядок middleware | проверить последовательность |
| Сервер падает | нет обработки ошибок | добавить error-middleware |
Проверьте себя
next() в middleware?
Вопросы и ответы
Да, базовые знания JavaScript и Node.js обязательны: модули, асинхронность, работа с npm. Express — надстройка, а не отдельный язык.
Express минималистичен и не навязывает структуру. Более крупные фреймворки вроде NestJS дают архитектуру из коробки, но требуют больше изучения.
Для JSON подключают express.json(), для данных формы — express.urlencoded(). После этого значения доступны через req.body.
Да, но для крупного проекта код организуют по слоям: отдельные файлы маршрутов, контроллеры, модели. Без структуры проект быстро превращается в беспорядок.
Итоги
- Express — минимальный веб-фреймворк для Node.js.
- Маршруты задают методом и путём.
- Middleware обрабатывает запросы по цепочке.
- Данные валидируют и защищают отдельно.
Комментарии
Пока комментариев нет — будьте первым, кто поделится мнением.