Wiki · Технологии разработки
Node.js
Node.js – это бесплатная открытая среда, которая запускает JavaScript вне браузера: на сервере, в командной строке, в инструментах разработки. На Node.js пишут серверную часть сайтов, API для приложений, интеграции и чат-ботов.
Долгое время JavaScript жил только в браузере, а сервер писали на другом языке. Node.js взяла движок V8, тот же, что внутри Chrome, и запустила его на сервере. С тех пор витрину и серверную часть можно писать на одном языке, и одна команда закрывает обе стороны. Проект входит в OpenJS Foundation, фонду принадлежат и товарные знаки Node.js.
Что делают на Node.js
- Серверную часть сайтов на Next.js и Nuxt: страницы собираются на сервере и приходят в браузер готовыми.
- API для мобильных приложений и личных кабинетов.
- Интеграции: приём заявок с сайта, вебхуки от CRM и платёжных сервисов, выгрузки в маркетплейсы.
- Чаты, уведомления и всё, где много одновременных соединений.
- Сборку фронтенда. Скрипты и стили даже PHP-сайта нередко собирают на Node.js: сжимают код и генерируют CSS.

Почему один процесс Node.js держит тысячи соединений
Приложение на Node.js работает в одном процессе и не заводит отдельный поток под каждый запрос. Когда нужно подождать базу данных, файл или ответ стороннего сервиса, Node.js не стоит без дела: отправляет запрос и берёт следующую задачу, а к первой возвращается, когда пришёл ответ. Поэтому один сервер держит тысячи одновременных соединений.
import http from 'node:http';
http.createServer((req, res) => {
res.end('Заявка принята');
}).listen(3000);
Это целый веб-сервер: он слушает порт 3000 и на любой запрос отвечает строкой. Обратная сторона такой модели в тяжёлых вычислениях. Если обработка большого файла заняла процесс на несколько секунд, все остальные посетители ждут. Такие задачи выносят в отдельные потоки или сервисы.
Серверную часть обычно пишут не с нуля, а на фреймворках вроде Express, NestJS или Fastify. У самой Node.js есть альтернативы, Deno и Bun, тоже среды для JavaScript вне браузера. Перед выбором менее распространённой среды проверьте, найдутся ли люди, которые будут её поддерживать.
Какую версию Node.js ставить на рабочий сервер
Для рабочих проектов Node.js рекомендует только версии со статусом LTS. На октябрь 2026 года это Node.js 22 и 24, а Node.js 26 по графику получает LTS в октябре. Версии с закончившейся поддержкой исправлений безопасности не получают: так весной 2026 года поддержка закончилась у Node.js 20.
С 27-й версии график меняется: одна крупная версия в год, выход в апреле, статус LTS в октябре и после этого 30 месяцев поддержки. Для заказчика вывод простой: обновление Node.js нужно закладывать в поддержку проекта раз в несколько лет, а не ждать, пока сервер сломается.

Установка, запуск и обновление Node.js
Откуда скачивать Node.js и какую версию брать?
Только с официального сайта nodejs.org, там есть установщики для Windows, macOS и Linux. Для рабочего проекта выбирайте сборку с пометкой LTS, а не самую свежую. npm приедет в комплекте, отдельно его ставить не придётся.
Как проверить, установлена ли Node.js и какой версии?
Откройте терминал и наберите node -v: если Node.js стоит, появится номер версии с буквой v впереди. Команда npm -v покажет версию менеджера пакетов. Ответ «команда не найдена» означает, что Node.js не установлена или система не знает, где её искать.
Какой командой запустить JS-файл через Node.js?
Перейдите в терминале в папку с файлом и выполните node server.js, подставив своё имя файла. Если файл поднимает веб-сервер, он займёт порт и проработает, пока открыт терминал. На рабочем сервере так не запускают: там процессом управляет менеджер, который сам перезапустит приложение после сбоя или перезагрузки.
В каком порядке обновлять Node.js в рабочем проекте?
Сначала на копии проекта. Ставите следующую LTS-версию, на октябрь 2026 года это 22 или 24, заново устанавливаете зависимости по lock-файлу, запускаете npm audit и тесты. Когда сборка, формы и интеграции работают на копии, переключаете рабочий сервер. Если проект отстал на несколько версий, переходить удобнее по шагам: так проще понять, какое изменение что-то сломало.
Зачем вместе с Node.js ставится npm?
npm – менеджер пакетов: через него в проект добавляют готовые библиотеки и запускают сборку. Перечень зависимостей хранится в package.json, точные версии в lock-файле, поэтому на любом сервере собирается один и тот же набор.
Чем код для Node.js отличается от JavaScript в браузере?
Язык один, окружение разное. В браузере скрипт управляет страницей: кнопками, формами, анимацией. В Node.js страницы нет, зато есть доступ к файлам, сети и базам данных, поэтому код, который обращается к элементам страницы, на сервере не запустится.
Когда серверную часть лучше писать на Node.js, а не на PHP?
Когда фронтенд уже на React или Vue и страницы нужно собирать на сервере, а ещё для чатов и сервисов с тысячами одновременных подключений. Сайт на 1С-Битрикс или WordPress останется на PHP, а Node.js там разве что собирает скрипты и стили.
npm и чужой код
Вместе с Node.js работает npm, крупнейший реестр программных пакетов. Проект на Node.js почти всегда тянет десятки и сотни чужих библиотек, список лежит в файле package.json. Это ускоряет разработку, но добавляет риск. В сентябре 2025 года червь Shai-Hulud через взломанные аккаунты авторов встроил вредоносный код в популярные пакеты, и GitHub удалил из реестра больше 500 заражённых пакетов. Поэтому версии зависимостей фиксируют в lock-файле, а новые библиотеки проверяют перед установкой. Если lock-файл не попал в репозиторий, на новом сервере установятся другие версии библиотек, и проект, который вчера работал, может не собраться. Известные уязвимости в зависимостях показывает команда npm audit, её стоит запускать перед каждым обновлением.
Node.js и другие серверные технологии
| Задача | Что обычно выбирают |
|---|---|
| Сайт на CMS: 1С-Битрикс, WordPress | PHP |
| Витрина на React или Vue с рендером на сервере | Node.js |
| Чаты, уведомления, много соединений | Node.js, Go |
| Обработка данных, машинное обучение | Python |
Хостинг, передача проекта и найм
Хостинг. Приложению на Node.js нужен постоянно запущенный процесс, а обычный хостинг для PHP-сайтов это умеет не всегда. Уточняйте заранее, нужен ли VPS. И проверьте, что после сбоя приложение поднимается само: запущенное вручную, оно после первой же ошибки лежит, пока кто-нибудь не зайдёт на сервер.
Передача проекта. Кроме кода, попросите lock-файл, номер версии Node.js и список переменных окружения: без них запустить проект на новом сервере трудно.
Найм. Node.js-разработчика ищут среди тех же JavaScript-специалистов, но для серверной части одного языка мало: нужен опыт с базами данных, безопасностью и нагрузкой.
Как узнать, что сайт работает на Node.js
Снаружи это видно не всегда. Иногда сервер сам представляется в заголовке ответа X-Powered-By, например Express или Next.js: заголовки видны в инструментах разработчика на вкладке Network. Расширения вроде Wappalyzer определяют фреймворки по коду страницы. Надёжнее всего посмотреть репозиторий: файл package.json и папку с серверным кодом.
Пишем серверную часть, API и интеграции при разработке сайтов. Если проект уже работает на Node.js, берём его на доработку и техническую поддержку, включая обновление версий.
Документация Node.js и npm
- Node.js: официальная документация, страница релизов и анонс нового графика выпуска версий
- npm Docs: About npm
- GitHub Blog: план по защите цепочки поставок npm
См. также: Хостинг, JavaScript SEO: CSR и SSR, TypeScript, Чат-бот.
Остались вопросы по теме «Node.js»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
