Учебник Express.js для начинающих
Полный курс по бэкенду на Node.js и Express. Ты пройдёшь путь от голого http-сервера до защищённого REST API в проде: разберёшь маршруты и middleware, спроектируешь REST, подключишь базу данных, реализуешь аутентификацию через JWT и закроешь приложение helmet, CORS и rate-limit. Каждый урок — это разбор под капотом, запускаемые примеры и реальные best practices.
Курс «Express.js: бэкенд на Node» состоит из 6 разделов и 19 уроков: Введение, Node и HTTP, Маршруты и запросы, Middleware, REST API, База данных и аутентификация и Безопасность и деплой. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Введение, Node и HTTP
- Что такое Express и зачем он нужен
Express.js как тонкая надстройка над http-модулем Node.js: маршруты и middleware вместо ручного разбора запросов.
- Установка и первый сервер
npm init, установка Express, минимальный сервер и автоперезагрузка через node --watch и npm-скрипты.
- Node под капотом: event loop
Однопоточная модель Node, неблокирующий ввод-вывод и цикл событий: почему один поток держит тысячи соединений.
- Основы HTTP: методы, статусы, заголовки
HTTP-методы GET/POST/PUT/PATCH/DELETE, коды статусов 2xx-5xx и заголовки — словарь, на котором работает Express.
- Что такое Express и зачем он нужен
2 Маршруты и запросы
- Маршруты: GET, POST и ответы
Объявление маршрутов Express для разных методов, отдача текста и JSON и порядок выбора обработчика.
- Параметры пути и query-строка
Динамические параметры /users/:id в req.params и опции ?sort=name в req.query: гибкие маршруты Express.
- Тело запроса и заголовки
Чтение JSON и форм через express.json/urlencoded в req.body, заголовки через req.get и базовая валидация входных данных.
- Маршруты: GET, POST и ответы
3 Middleware
- Что такое middleware
Middleware как функция (req, res, next) и конвейер обработки запроса в Express: next() как эстафетная палочка.
- Свои и сторонние middleware
Привязка middleware глобально, по пути и к маршруту, фабрики middleware для ролей и готовые пакеты morgan, cors, helmet.
- Обработка ошибок в middleware
Error-handling middleware (err, req, res, next), автоматический проброс async-ошибок в Express 5 и свои классы ошибок со статусом.
- Что такое middleware
4 REST API
- Принципы REST
REST как стиль проектирования API: ресурсы-существительные, методы-глаголы, идемпотентность и предсказуемые url.
- CRUD-маршруты на практике
Полный набор Create-Read-Update-Delete маршрутов Express для ресурса с правильными статусами и проверкой наличия.
- express.Router и структура проекта
Вынос маршрутов в модули через express.Router, префиксы подключения и слои routes/controllers/services.
- Принципы REST
5 База данных и аутентификация
- Подключение базы данных
SQL и NoSQL, драйверы и ORM (Prisma, Mongoose), асинхронный доступ к данным через async/await и пул соединений.
- Регистрация и хеширование паролей
Безопасное хранение паролей: односторонний хеш с солью через bcrypt, регистрация и вход, защита от утечки базы.
- Аутентификация через JWT
Устройство JWT (header.payload.signature), поток аутентификации, выдача и проверка токена в middleware Express.
- Подключение базы данных
6 Безопасность и деплой
- Безопасность: helmet, CORS, rate-limit
Базовая защита Express-API тремя middleware: helmet (заголовки), cors (кросс-домен) и express-rate-limit (частота запросов).
- Переменные окружения и конфигурация
Секреты и настройки в process.env и .env, dotenv, NODE_ENV и проверка обязательных переменных на старте Express.
- Деплой в продакшен
Вывод Express в прод: PM2 в кластере, graceful shutdown по SIGTERM, обратный прокси nginx и чек-лист готовности.
- Безопасность: helmet, CORS, rate-limit