Skip to main content

Що таке Express.js?

1. Що таке Express.js

Express.js - це мінімалістичний і гнучкий веб-фреймворк для Node.js, який спрощує створення серверних застосунків, REST API і вебсервісів.

Він надає зручний інтерфейс для:

  • обробки HTTP-запитів і відповідей;
  • маршрутизації (routing);
  • роботи з middleware (проміжними обробниками);
  • та інтеграції з базами даних, шаблонами, JSON тощо.

2. Чому з'явився Express

Без Express чистий Node.js виглядає приблизно так:

javascript
const http = require('http'); const server = http.createServer((req, res) => { if (req.url === '/users' && req.method === 'GET') { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify([{ name: 'Tim' }])); } else { res.writeHead(404); res.end('Not Found'); } }); server.listen(3000);

Проблеми:

  • потрібно вручну обробляти маршрути (req.url, req.method);
  • немає нормальної системи middleware;
  • немає JSON-парсингу, body-парсера, cookie тощо.

Express вирішує все це з коробки.

3. Приклад простого сервера на Express

javascript
const express = require('express'); const app = express(); // Middleware для парсингу JSON app.use(express.json()); // Маршрут GET app.get('/', (req, res) => { res.send('Привіт, Express!'); }); // Маршрут POST app.post('/users', (req, res) => { res.json({ message: 'Користувача створено', data: req.body }); }); // Запуск сервера app.listen(3000, () => console.log('Сервер запущено на порту 3000'));

Переваги:

  • менше коду;
  • читабельна структура маршрутів (app.get, app.post);
  • вбудована робота з JSON і middleware;
  • легко розширюється.

4. Основні можливості Express.js

МожливістьОпис
RoutingЗручна маршрутизація запитів (app.get('/path', ...))
MiddlewareФункції, які обробляють запит до/після маршруту
Робота з JSONАвтоматичний парсинг тіла запиту
ШаблонізаториПідтримка ejs, pug, handlebars та ін.
Static filesПроста віддача файлів (app.use(express.static('public')))
Error handlingЦентралізована обробка помилок
IntegrationСумісний із будь-якими БД (MongoDB, PostgreSQL, MySQL тощо)

5. Що таке Middleware в Express

Middleware - це функції, які виконуються між запитом і відповіддю.

Наприклад:

javascript
app.use((req, res, next) => { console.log(`${req.method} ${req.url}`); next(); // передаємо керування далі });

Кожен middleware може:

  • змінити req чи res;
  • перервати виконання;
  • викликати next() - щоб передати керування наступному обробнику.

6. Express як база для REST API

Express ідеально підходить для побудови RESTful API:

javascript
app.get('/api/users', (req, res) => {...}); app.post('/api/users', (req, res) => {...}); app.put('/api/users/:id', (req, res) => {...}); app.delete('/api/users/:id', (req, res) => {...});

Тому Express - стандарт де-факто для API-бекендів на Node.js.

7. Де використовується Express

СфераЗастосування
REST APIБекенди для SPA й мобільних застосунків
SSRСерверний рендеринг React/Vue/Nunjucks
Ланцюжки middlewareАвтентифікація, логування, обробка помилок
MicroservicesЛегкі мікросервіси з JSON-API
Backend-for-FrontendПрошарок між фронтендом і зовнішніми API

8. Підсумок

Express.js - це веб-фреймворк для Node.js, який робить створення серверів і API простим, швидким і структурованим.

Використовується для:

  • обробки HTTP-запитів;
  • маршрутизації;
  • middleware;
  • побудови REST API;
  • статичної віддачі файлів і шаблонів.

Це - фундамент більшості Node.js-бекендів (Next.js, NestJS, Sails, Feathers, LoopBack тощо).

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.