Sobes.tech
Назад к вопросам
Junior — Middle
76

Какие компоненты входят в структуру фреймворка Express.js?

Ответ от нейросети

sobes.tech AI

Что хотят услышать интервьюеры:

Express.js обычно описывают через базовые элементы: приложение, роуты, middleware и обработчики запросов/ответов. Важно показать понимание, как запрос проходит через middleware до нужного маршрута. Также полезно упомянуть, что Express — это минималистичный слой поверх Node.js, а не полноценный “монолитный” фреймворк.

Определение:

Express.js — это веб-фреймворк для Node.js, который упрощает создание HTTP-серверов и API. Его структура строится вокруг объекта приложения, маршрутизации и цепочки middleware. На практике это позволяет принимать запрос, последовательно обрабатывать его и возвращать ответ.

Пример использования:

const express = require('express');

const app = express();

app.use(express.json());

app.get('/users', (req, res) => {
  res.json([{ id: 1, name: 'Alex' }]);
});

app.post('/users', (req, res) => {
  const user = req.body;
  res.status(201).json(user);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

Пояснение кода:

Код не требует отдельной сложной логики — здесь показана типичная структура Express-приложения по шагам:

  1. Создаётся экземпляр приложения через express().
  2. Подключается middleware express.json(), чтобы Express мог читать JSON из тела запроса.
  3. Определяется маршрут GET /users, который возвращает список пользователей.
  4. Определяется маршрут POST /users, который принимает данные из req.body и возвращает созданный объект.
  5. Сервер запускается на порту 3000.

Ключевые моменты:

  • Основа Express — это app (экземпляр приложения).
  • Маршруты (routes) определяют, что делать для конкретных HTTP-методов и URL.
  • middleware — это промежуточные функции, через которые проходит запрос.
  • req и res — объекты запроса и ответа, через них читают данные и отправляют результат.
  • Express можно расширять своими middleware, что делает архитектуру гибкой.
  • Фреймворк предоставляет минимальный набор инструментов, а остальное обычно добавляется через сторонние пакеты.