Что это такое
Express — минималистичный веб-фреймворк для Node.js. Он дает маршруты, middleware, обработку запросов и ответов, но не навязывает большую архитектуру приложения.
Репозиторий существует с 2009 года, основной язык — JavaScript, лицензия — MIT. Express стал одной из базовых частей Node.js-экосистемы и до сих пор служит стандартным вариантом для маленьких серверов и API.
Что внутри
Внутри — ядро фреймворка, тесты, примеры, документация по установке, философия проекта и ссылки на официальные middleware и модули организации expressjs.
Минимальный сервер Express
Пример показывает базовую модель Express: приложение объявляет маршрут и возвращает ответ на HTTP-запрос.
import express from 'express'
const app = express()
app.get('/', (req, res) => {
res.send('Hello from Express')
})
app.listen(3000)
Как это используют
Express используют для API, серверных частей веб-приложений, внутренних сервисов, прототипов и учебных проектов. Его сила в том, что простое приложение можно написать быстро, а сложность добавлять постепенно.
Сильная сторона — простота модели. Маршрут, middleware и ответ понятны без тяжелого слоя абстракций, поэтому Express легко объяснять и легко встраивать.
Детали проекта
Express стал популярным потому, что хорошо совпал с философией Node.js: маленькое ядро, много пакетов вокруг и прямой доступ к HTTP-модели. Разработчик не обязан принимать большую архитектуру до того, как понял форму приложения.
Middleware — главный механизм расширения. Через него проходят логирование, обработка JSON, авторизация, сессии, ошибки и пользовательские правила. Это делает Express простым в начале, но требует порядка в большом проекте.
С переходом экосистемы к новым фреймворкам Express не исчез. Он остается базовой серверной библиотекой, которую понимает огромное число разработчиков, и часто используется как слой под API, веб-хуки и небольшие сервисы.
Сильные стороны и ограничения
Ограничение — свобода требует дисциплины. Крупному приложению нужны правила структуры, валидации, авторизации, ошибок, логирования и тестов; сам Express не решает эти вопросы за команду.
Express важен как один из проектов, которые сформировали практический Node.js на сервере: вокруг него выросло огромное количество примеров, пакетов и привычек разработки.