
Node.js позволяет запускать JavaScript вне браузера и строить высоконагруженные серверные приложения. Для создания сервера потребуется последняя стабильная версия Node.js, которую можно скачать с официального сайта. После установки важно проверить версию через команду node -v в терминале, чтобы убедиться, что окружение готово к работе.
Проект начинается с создания отдельной папки и инициализации файла package.json с помощью команды npm init -y. Это создаст структуру для управления зависимостями и настройками проекта. Рекомендуется использовать отдельную папку для каждого сервера, чтобы избежать конфликтов версий модулей.
Для базового HTTP-сервера достаточно встроенного модуля http, но для упрощения маршрутизации и обработки запросов можно установить express через npm install express. После этого сервер можно запустить командой node index.js и проверить работу на локальном хосте по адресу http://localhost:3000.
Как создать сервер на Node.js шаг за шагом

Создание сервера на Node.js требует точного выполнения нескольких шагов. Начнем с подготовки проекта и окружения:
- Установите последнюю стабильную версию Node.js с официального сайта и проверьте установку командой node -v.
- Создайте папку для проекта и перейдите в нее через терминал.
- Инициализируйте package.json командой npm init -y, чтобы управлять зависимостями и настройками проекта.
Далее необходимо выбрать подход для обработки HTTP-запросов:
- Для базового сервера используйте встроенный модуль http. Он позволяет создавать сервер, прослушивающий указанный порт, и отправлять ответы клиентам.
- Для упрощенной маршрутизации и работы с REST API установите express через npm install express и подключите его в файле index.js.
Пример минимального сервера с Express:
- Создайте файл index.js.
- Подключите Express и создайте сервер:
const express = require(‘express’);
const app = express();
const PORT = 3000;
app.get(‘/’, (req, res) => res.send(‘Сервер работает’));
app.listen(PORT, () => console.log(`Сервер запущен на порту ${PORT}`));
После запуска node index.js сервер доступен по адресу http://localhost:3000. Рекомендуется проверять работу через браузер или утилиту curl. Для дальнейшей работы подключайте дополнительные маршруты, middleware и настройку обработки ошибок.
Установка Node.js и проверка версии на компьютере
Для создания сервера на Node.js необходимо сначала установить саму платформу. Выбор правильной версии влияет на совместимость с современными пакетами и модулями.
- Перейдите на официальный сайт https://nodejs.org/ и скачайте версию LTS (Long Term Support) для вашей операционной системы.
- Запустите установочный файл и следуйте инструкциям установщика. В Windows убедитесь, что опция Add to PATH активирована, чтобы команды Node.js были доступны в терминале.
- На macOS можно использовать Homebrew: brew install node. На Linux подойдет пакетный менеджер вашей системы: sudo apt install nodejs npm для Ubuntu или sudo dnf install nodejs npm для Fedora.
После установки важно проверить корректность:
- В терминале выполните команду node -v, она должна вывести установленную версию Node.js, например v20.3.1.
- Проверьте менеджер пакетов npm командой npm -v, чтобы убедиться, что зависимости можно устанавливать.
Если версии корректно отображаются, система готова к созданию сервера и подключению необходимых модулей. В противном случае проверьте переменные окружения PATH и повторите установку.
Создание новой папки проекта и инициализация package.json
Для организации проекта создайте отдельную папку, чтобы все файлы сервера хранились в одном месте. Это облегчает управление зависимостями и структурой проекта.
- Откройте терминал и перейдите в директорию, где будет находиться проект.
- Создайте новую папку командой mkdir my-server и перейдите в нее через cd my-server.
- Инициализируйте файл package.json командой npm init -y. Опция -y автоматически создаст файл с базовыми настройками.
В package.json будут прописаны ключевые параметры проекта:
- name – имя проекта;
- version – версия сервера;
- scripts – команды для запуска и тестирования;
- dependencies – список подключенных модулей.
После создания package.json можно устанавливать необходимые модули, настраивать скрипты запуска и управлять зависимостями проекта через npm install.
Установка и подключение необходимых модулей
Для полноценного сервера на Node.js потребуются модули, которые упрощают обработку HTTP-запросов, маршрутизацию и работу с данными.
Чаще всего используются следующие пакеты:
| Модуль | Назначение | Команда установки |
|---|---|---|
| express | Упрощает создание маршрутов и обработку запросов | npm install express |
| dotenv | Загружает переменные окружения из файла .env | npm install dotenv |
| body-parser | Обрабатывает данные из POST-запросов | npm install body-parser |
| cors | Настраивает доступ с других доменов | npm install cors |
После установки модулей их нужно подключить в основном файле проекта (index.js) с помощью require:
const express = require(‘express’);
const dotenv = require(‘dotenv’);
const bodyParser = require(‘body-parser’);
const cors = require(‘cors’);
Использование подключенных модулей обеспечивает корректную работу сервера, обработку маршрутов и настройку внешних запросов. Рекомендуется подключать их сразу после инициализации Express и перед настройкой маршрутов.
Написание простого HTTP-сервера на Node.js

Для создания базового сервера используйте встроенный модуль http. Он позволяет обрабатывать входящие запросы и отправлять ответы без установки дополнительных пакетов.
Пример минимального HTTP-сервера:
const http = require(‘http’);
const PORT = 3000;
const server = http.createServer((req, res) => {
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
res.end(‘Сервер на Node.js работает’);
});
server.listen(PORT, () => console.log(`Сервер запущен на порту ${PORT}`));
Важно указывать корректный Content-Type для ответа, чтобы браузер правильно интерпретировал данные. Для тестирования сервера откройте http://localhost:3000 в браузере или выполните curl http://localhost:3000 в терминале.
Для расширения функционала добавляйте обработку маршрутов с проверкой req.url и метода запроса req.method. Это позволит различать GET и POST-запросы и отправлять разные ответы для разных путей.
Настройка обработки маршрутов и отправки ответов

Для организации маршрутов в Node.js удобно использовать Express. Он позволяет создавать отдельные обработчики для разных путей и методов запросов.
Пример настройки базовых маршрутов:
const express = require(‘express’);
const app = express();
const PORT = 3000;
// Главная страница
app.get(‘/’, (req, res) => {
res.send(‘Главная страница сервера’);
});
// Маршрут для получения данных
app.get(‘/data’, (req, res) => {
res.json({ message: ‘Пример JSON-ответа’, status: ‘ok’ });
});
// Обработка POST-запросов
app.post(‘/submit’, (req, res) => {
res.send(‘Данные успешно получены’);
});
После добавления маршрутов сервер запускается командой app.listen(PORT). Для сложных приложений рекомендуется разделять маршруты по отдельным файлам и подключать их через require. Это упрощает поддержку и расширение функционала.
Запуск сервера и проверка работы в браузере
После настройки маршрутов сервер на Node.js запускается командой node index.js в терминале. При успешном старте консоль отобразит сообщение с указанием порта, например: Сервер запущен на порту 3000.
Для проверки работы откройте браузер и перейдите по адресу http://localhost:3000. Должен отобразиться текст или JSON-ответ, который настроен для главного маршрута.
Если сервер использует несколько маршрутов, проверьте каждый путь отдельно. Например, http://localhost:3000/data должен вернуть JSON, а http://localhost:3000/submit корректно обрабатывать POST-запросы через формы или утилиты типа Postman или curl.
При возникновении ошибок обратите внимание на консольные сообщения Node.js. Частые причины – занятой порт, синтаксические ошибки в коде или отсутствующие модули. Для смены порта измените значение переменной PORT в файле index.js и перезапустите сервер.
Отладка ошибок и просмотр логов сервера

Пример логирования запроса:
app.use((req, res, next) => {
console.log(`Запрос: ${req.method} ${req.url}`);
next();
});
Для отлова ошибок используйте try/catch внутри маршрутов или глобальный обработчик:
process.on(‘uncaughtException’, (err) => {
console.error(‘Необработанная ошибка:’, err);
});
Рекомендуется подключать сторонние пакеты для более детального логирования, например winston, который позволяет сохранять логи в файлы и разделять их по уровням важности.
Вопрос-ответ:
Как установить Node.js на Windows и проверить его работу?
Скачайте LTS-версию Node.js с официального сайта и запустите установщик. Во время установки убедитесь, что активирована опция Add to PATH. После завершения установки откройте терминал и выполните node -v для проверки версии. Аналогично выполните npm -v для проверки менеджера пакетов.
Зачем нужен файл package.json и как его создать?
Файл package.json хранит информацию о проекте, зависимости и скрипты запуска. Создайте его в папке проекта командой npm init -y. После этого можно подключать модули через npm install и управлять версиями пакетов.
В чем разница между использованием http и Express для сервера?
Модуль http встроен в Node.js и позволяет создавать сервер без внешних библиотек, но маршрутизация и обработка запросов реализуются вручную. Express упрощает настройку маршрутов, работу с POST-запросами, JSON-данными и middleware, что ускоряет разработку.
Как проверить работу созданного сервера в браузере?
Запустите сервер командой node index.js. Откройте браузер и перейдите по адресу http://localhost:3000. Для проверки маршрутов используйте дополнительные пути, например http://localhost:3000/data. Для POST-запросов удобно использовать утилиты Postman или curl.
Какие способы есть для отладки ошибок на сервере Node.js?
Для отладки используйте console.log для вывода значений переменных и маршрутов. Ошибки можно перехватывать через try/catch внутри маршрутов или глобальный обработчик process.on(‘uncaughtException’). Для сохранения логов и разделения по уровням можно использовать пакеты типа winston.
