Node.js и Express
До сих пор JavaScript жил только в браузере. Node.js запускает его на сервере: теперь мы сами отвечаем на запросы, отдаём данные и строим API. Это ваш первый шаг в backend-разработку.
Что такое Node.js и Express
Node.js — среда исполнения JavaScript вне браузера. Express — самый популярный фреймворк поверх неё: превращает «получил запрос — отдал ответ» в пару строк. Устанавливаем Express как обычный npm-пакет.
npm init -y
npm install express
# server.js
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("<h1>Привет из Node.js!</h1>");
});
app.listen(3000, () => console.log("Сервер на http://localhost:3000"));
ℹ️
req — то, что прислал клиент (параметры, тело, заголовки); res — то, что мы вернём. Запрос вроде GET /products — это «путь + метод», а обработчик — колбэк для этой пары.Маршруты и параметры
Маршруты пишутся под каждый метод и путь. Параметры из адреса ловятся через :name, а из строки запроса — через req.query.
app.get("/users", (req, res) => {
res.json([{ id: 1, name: "Аня" }, { id: 2, name: "Петя" }]);
});
app.get("/users/:id", (req, res) => {
res.send("Пользователь с id=" + req.params.id);
});
app.get("/search", (req, res) => {
res.send("Ищем: " + req.query.q);
});
REST API: коротко
GET /items— получить список;GET /items/1— получить один;POST /items— создать (тело вreq.body);PUT /items/1— обновить;DELETE /items/1— удалить.
💡
Для
req.body в Express нужен парсер JSON: app.use(express.json()). Без него тело запроса прилетит «пустым».Статика и структура
Готовый фронт-проект сервер раздаёт как статику, а создаём один server.js (в больших проектах — маршруты по файлам).
app.use(express.static("public"));
// public/ — оттуда браузеру отдаются css, js, картинки
// поправляем и перезапускаем: node server.js, либо node --watch server.js
⚠️
После правок сервера его нужно перезапустить. Вместо ручного перезапуска —
node --watch server.js (рестарт сам) или nodemon. Это не магия статики: JS сервер — это процесс, а не файл в браузере.