Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Что такое Node.js

Node.js — это среда, которая выполняет JavaScript вне браузера: на вашем компьютере или на сервере. Язык тот же, что вы изучили в учебнике, но вместо страницы и кнопок у программы есть доступ к файлам, сети и операционной системе. На Node.js пишут веб-серверы, утилиты командной строки и инструменты сборки.

Версия

Курс рассчитан на Node.js 22 и новее. Чётные версии (22, 24) получают статус LTS — долгосрочной поддержки: их исправляют несколько лет, поэтому на серверах ставят именно их. Все примеры используют ES-модули (import и export) и встроенные модули с приставкой node:.

Установка

Скачайте установщик с сайта nodejs.org — выберите версию с пометкой LTS. Затем откройте терминал и проверьте результат:

node --version
npm --version

Первая команда выведет версию Node.js, например v22.12.0, вторая — версию npm, менеджера пакетов, который ставится вместе с Node.js.

Чем Node.js отличается от браузера

В браузереВ Node.js
Есть document и windowИх нет: страницы не существует
Доступа к файлам нетМожно читать и писать файлы
Код приходит с сайтаКод лежит на вашем компьютере
Сеть ограничена правилами браузераМожно принимать и отправлять любые запросы

Сам язык — переменные, функции, классы, промисы — работает одинаково.

Что будем строить

Через весь курс проходит один пример — небольшой блог. Сначала вы научитесь хранить статьи в JSON-файле, затем напишете HTTP-сервер, который отдаёт их списком и по одной, принимает новые статьи и комментарии. Всё — на встроенных модулях, без фреймворков. Когда вы поймёте, как устроен сервер «вручную», станет ясно, что делают за вас Express и другие фреймворки.

Структура курса

ГлаваО чём
Начало работыЗапуск программ, package.json, модули, npm
Программа и окружениеАргументы, переменные окружения, пути
ФайлыЧтение, запись, папки, потоки
АсинхронностьЦикл событий, события, ошибки
HTTP без фреймворковСервер, маршруты, JSON API, fetch
Инструменты и практикаТесты, отладка, база данных, развёртывание

Частая ошибка

Код, рассчитанный на браузер, в Node.js не сработает: объектов страницы здесь нет.

// document.querySelector('h1');
// ReferenceError: document is not defined
 
console.log(typeof document); // undefined

Если видите ошибку document is not defined, значит, скрипт для веб-страницы запущен через node. Такой код подключают к HTML-странице, а не выполняют в терминале.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.