Введение в Node.js и создание первого приложения

Node.js: С чего начать создание серверных приложений на JavaScript?

Введение
Node.js — это среда выполнения JavaScript, построенная на движке V8 от Google. Ее ключевая особенность — событийно-ориентированная, неблокирующая I/O модель, что делает ее легкой и эффективной для создания масштабируемых сетевых приложений. Проще говоря, вы можете писать серверный код на знакомом JavaScript.

Основные концепции:

  1. Асинхронность: Вместо ожидания завершения операции (например, чтения файла), Node.js продолжает выполнять другой код. Когда операция завершается, вызывается функция обратного вызова (callback).

  2. NPM (Node Package Manager): Огромная экосистема библиотек и инструментов, которые легко подключать в свои проекты.

  3. Модульность: Код организуется в модули, которые можно импортировать с помощью require().

Пример: Простой HTTP-сервер

Давайте создадим самый простой веб-сервер, который возвращает «Hello, World!» на любой запрос.

  1. Установка Node.js: Скачайте и установите Node.js с официального сайта.

  2. Создание проекта:

mkdir my-first-server
cd my-first-server
npm init -y # Создает файл package.json с настройками по умолчанию

      3. Создание файла app.js:

// Подключаем встроенный модуль ‘http’
const http = require(‘http’);

// Определяем порт, на котором будет работать сервер
const port = 3000;

// Создаем HTTP-сервер
const server = http.createServer((req, res) => {
// req (request) — объект запроса от клиента
// res (response) — объект ответа сервера

// Устанавливаем заголовок ответа (HTTP статус 200 и тип контента)
res.writeHead(200, { ‘Content-Type’: ‘text/plain’ });

// Отправляем данные в ответе
res.end(‘Hello, World from Node.js Server!\n’);
});

// Запускаем сервер и слушаем указанный порт
server.listen(port, () => {
console.log(`Server is running at http://localhost:${port}/`);
});

4. Запуск сервера:

node app.js

  1. Вы увидите сообщение в консоли: Server is running at http://localhost:3000/.

  2. Проверка: Откройте браузер и перейдите по адресу http://localhost:3000. Вы увидите текст «Hello, World from Node.js Server!».

Описание кода:

  • require('http') импортирует встроенный модуль для работы с HTTP.

  • http.createServer() создает новый экземпляр сервера. Функция, переданная в него, будет выполняться при каждом запросе.

  • res.writeHead() устанавливает статус код и заголовки ответа.

  • res.end() завершает формирование ответа и отправляет его клиенту.

  • server.listen() заставляет сервер «слушать» входящие подключения на указанном порту.

Заключение
Это базовый пример, но он демонстрирует мощь Node.js: несколькими строками кода мы создали работающий веб-сервер. Дальше можно подключать фреймворки (например, Express.js), работать с базами данных и создавать полноценные API.