Що таке Express.js і чому його використовують?
Що таке Express.js?
Express.js — це мінімалістичний, швидкий і непредвзятий веб-фреймворк для Node.js. Він надає тонкий шар основних функцій веб-додатків поверх вбудованого модуля http Node.js, не приховуючи жодної з основних можливостей Node.js.
Чому варто використовувати Express.js?
Без Express базовий HTTP сервер на Node.js виглядає так:
js
// Чистий Node.js — громіздкий і ручний
const http = require('http');
const server = http.createServer((req, res) => {
if (req.method === 'GET' && req.url === '/users') {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ users: [] }));
} else {
res.writeHead(404);
res.end('Не знайдено');
}
});
server.listen(3000);З Express:
js
const express = require('express');
const app = express();
app.get('/users', (req, res) => {
res.json({ users: [] });
});
app.listen(3000);Основні функції
| Функція | Опис |
|---|---|
| Маршрутизація | Визначення обробників URL з HTTP методами |
| Проміжне програмне забезпечення | Компоноване середовище запитів/відповідей |
| Статичні файли | Обслуговування HTML, CSS, зображень одним рядком |
| Шаблонні движки | Генерація HTML з EJS, Pug, Handlebars |
| Обробка помилок | Централізоване управління помилками |
| Підтримка REST API | Парсинг JSON, коди статусу, заголовки |
Привіт, світ
js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Привіт, Express!');
});
app.listen(3000, () => {
console.log('Сервер працює на http://localhost:3000');
});Express.js проти альтернатив
| Фреймворк | Стиль | Найкраще підходить для |
|---|---|---|
| Express.js | Мінімалістичний, гнучкий | REST API, повноцінні додатки |
| Fastify | Швидкий, на основі схем | Високопродуктивні API |
| Koa | Сучасний, асинхронний | Легкі ланцюги проміжного програмного забезпечення |
| NestJS | Упереджений, TypeScript | Додатки корпоративного рівня |
| Hapi | Важкий на налаштування | Безпечні корпоративні API |
Об'єкт додатку Express
js
const express = require('express');
const app = express();
// app є екземпляром додатку Express
// Основні властивості та методи:
app.use() // підключити проміжне програмне забезпечення
app.get() // обробити GET маршрут
app.post() // обробити POST маршрут
app.listen() // запустити HTTP сервер
app.set() // налаштувати параметри
app.locals // змінні на рівні додаткуПідсумок
Express.js спрощує веб-розробку на Node.js, надаючи маршрутизацію, проміжне програмне забезпечення та утиліти для створення HTTP серверів. Це найпопулярніший фреймворк Node.js з величезною екосистемою і є основою для таких фреймворків, як NestJS і LoopBack.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.