Что такое Node.js?
Node.js — это серверная платформа, построенная на движке V8 от Google Chrome, которая позволяет выполнять JavaScript код вне браузера для создания серверных приложений.
Ключевые особенности Node.js
- Неблокирующий I/O — все операции выполняются асинхронно
- Однопоточность — один поток с циклом событий (event loop)
- NPM — крупнейший в мире репозиторий пакетов
- Кроссплатформенность — работает на Windows, macOS, Linux
Области применения Node.js
- Web API — создание RESTful сервисов и GraphQL API
- Микросервисы — легковесные и быстрые сервисы
- Инструменты разработки — webpack, gulp, eslint
- Чат-приложения — WebSocket соединения в реальном времени
Популярные Node.js фреймворки
- Express.js — минималистичный и гибкий веб-фреймворк
- Koa.js — современный фреймворк от создателей Express
- Fastify — высокопроизводительный фреймворк
- NestJS — фреймворк для корпоративных приложений
Встроенные модули Node.js
- fs — работа с файловой системой
- http — создание HTTP серверов и клиентов
- path — работа с путями файлов
- crypto — криптографические функции
Установка и начало работы
Установка Node.js на разных системах:
Пример простого HTTP сервера
Управление пакетами
Работа с NPM и альтернативными менеджерами:
Часто задаваемые вопросы
Подходит ли Node.js для CPU-интенсивных задач?
Node.js лучше всего подходит для I/O интенсивных приложений из-за своей асинхронной архитектуры. Для CPU-интенсивных задач лучше использовать другие технологии или worker threads.
В чем разница между Node.js и браузерным JavaScript?
Node.js предоставляет API для работы с файловой системой, сетью и операционной системой, чего нет в браузере. Браузерный JavaScript имеет DOM API, которого нет в Node.js.