Первая программа на Node.js
Первая программа на Node.js
Соберём небольшой REST API «Заметки» на Express. Это типичный первый шаг после знакомства с синтаксисом JS и асинхронностью.
Теория платформы: Node.js — серверный JavaScript. Справочник: Справочник по Node.
Инициализация проекта
mkdir notes-api && cd notes-api
npm init -y
npm install express
npm install -D nodemon
package.json — добавьте скрипт:
{
"scripts": {
"dev": "nodemon server.js",
"start": "node server.js"
},
"type": "module"
}
"type": "module" включает ESM (import вместо require). Подробнее о модулях — в Node.js.
Сервер
Файл server.js:
import express from 'express';
const app = express();
const PORT = process.env.PORT || 3000;
app.use(express.json());
const notes = [];
let nextId = 1;
app.get('/health', (_req, res) => {
res.json({ status: 'ok' });
});
app.get('/notes', (_req, res) => {
res.json(notes);
});
app.post('/notes', (req, res) => {
const text = String(req.body?.text ?? '').trim();
if (!text) {
return res.status(400).json({ error: 'text is required' });
}
const note = { id: nextId++, text };
notes.push(note);
res.status(201).json(note);
});
app.delete('/notes/:id', (req, res) => {
const id = Number(req.params.id);
const idx = notes.findIndex((n) => n.id === id);
if (idx === -1) {
return res.status(404).json({ error: 'not found' });
}
notes.splice(idx, 1);
res.status(204).send();
});
app.listen(PORT, () => {
console.log(`API: http://127.0.0.1:${PORT}`);
});
Запуск:
npm run dev
Проверка
curl http://127.0.0.1:3000/health
curl http://127.0.0.1:3000/notes
curl -X POST http://127.0.0.1:3000/notes \
-H "Content-Type: application/json" \
-d "{\"text\": \"Изучить Node\"}"
curl -X DELETE http://127.0.0.1:3000/notes/1
Middleware (следующий шаг)
app.use((req, res, next) => {
console.log(req.method, req.url);
next();
});
Цепочка middleware — основа Express: логирование, CORS, авторизация, обработка ошибок.
Куда дальше
| Тема | Материал |
|---|---|
| Security API | helmet, rate-limit |
| БД | pg, Prisma, MongoDB driver |
| TypeScript на сервере | TypeScript |
| Fullstack React | Next.js |
| Десктоп | Electron |
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Основы JavaScript - стандарт ECMAScript, модель выполнения и базовые конструкции языка. Фундамент для начинающего программиста - что повторить, как работать, чего ожидать. Для создания массивов используется литеральная нотация. Конструктор Array не применяется. Как работать с HTML-элементами, как их создавать, менять. Простые приложения на JavaScript - базовые сценарии, структура кода и быстрый старт с практическими примерами. Расширения файлов определяют способ обработки кода средой выполнения или компилятором. История JavaScript - происхождение языка, ключевые этапы развития и влияние на современный веб. Такое именование представляет собой соглашение между разработчиками. Классический JavaScript не обеспечивает реальной приватности через подчеркивания. JavaScript содержит набор зарезервированных слов, которые имеют специальное значение в языке. Эти слова нельзя использовать в качестве идентификаторов для переменных, функций или классов. Встроенные функции JavaScript - ключевые методы массивов, строк и объектов для повседневной разработки. Этот шаблон описывает подключение внешних функций, классов или значений из других файлов. Он используется в начале файла и определяет зависимости текущего модуля. JavaScript используется для создания кроссплатформенных мобильных приложений, которые работают на iOS и Android с использованием единой кодовой базы.Основы JavaScript
Что требуется знать перед началом изучения языка программирования JavaScript
Рекомендации по разработке на JavaScript
Работа с HTML в JavaScript
Простые приложения на JavaScript
Форматы JavaScript
История языка JavaScript
Синтаксис и пунктуация в JavaScript
Ключевые слова языка JavaScript
Встроенные функции JavaScript
Структура и подключение JavaScript-кода
Применение JavaScript в вебе и за его пределами