Express: маленький API на Node.js
Express — это маршрутизация плюс middleware и намеренно почти ничего больше. JSON API помещается в один читаемый файл: задайте маршруты, проверяйте входные данные на границе одним middleware и держите бизнес-логику в обычных функциях, которые можно тестировать без HTTP.
npm install express
Остановитесь до того, как фреймворк покажет зубы: аутентификация, валидация и ограничение частоты запросов — это middleware, но как только понадобились ORM, миграции и фоновые задачи, переходите на полноценный фреймворк, а не складывайте сорок middleware. Отдавайте результат через настоящий обратный прокси и прочитайте заметки про Node.js о поведении среды выполнения.
Ошибки: падать громко, падать один раз
Обработчик Express, который выбрасывает исключение без middleware для ошибок, подвешивает запрос до таймаута — худший из возможных режимов отказа. Добавьте одно middleware обработки ошибок, которое пишет лог с идентификатором запроса и возвращает стабильную структуру JSON, оберните асинхронные обработчики так, чтобы отклонения доходили до него, и никогда не отдавайте клиентам стектрейсы. Одно место, все ошибки, всегда.
Проверяйте на границе
Каждый маршрут проверяет входные данные до бизнес-логики: типы, диапазоны, длины строк. Небольшая проверка по схеме на маршрут лучше защитных if, разбросанных по обработчикам, и документирует API лучше любой страницы в вики. Неверные данные получают 400 с именами полей — клиенты исправляются сами, а не пишут тикеты.
| NPM: пакеты без боли | |
| React за один вечер | |
| Vite: мгновенный dev-сервер |