Przejdź do treści
Node.js od podstawModuł 1 · lekcja 1 z 3
Za darmo4 min czytania

Moduł 1 · Pierwsze kroki z Node.js

Czym jest Node.js: V8, pętla zdarzeń i wersje LTS

Po tej lekcji wyjaśnisz, czym jest Node.js, do czego się go używa i którą wersję zainstalować w październiku 2026. Poznasz też przykład, który przeprowadzi Cię przez cały kurs.

Czym jest Node.js

Node.js to środowisko uruchomieniowe JavaScriptu poza przeglądarką. Bierze silnik V8 (ten sam, który wykonuje JavaScript w Google Chrome) i dodaje do niego to, czego przeglądarka nie daje: dostęp do plików, sieci, procesów i zmiennych środowiskowych. Dzięki temu w JavaScripcie napiszesz serwer API, skrypt porządkujący pliki albo narzędzie wiersza poleceń.

Warto rozróżnić trzy rzeczy, które początkujący często mieszają:

  • JavaScript to język. Jego standard nazywa się ECMAScript.
  • V8 to silnik, który zamienia kod JavaScript na kod maszynowy i go wykonuje.
  • Node.js to program node, który łączy V8 z biblioteką wejścia i wyjścia (libuv) oraz zestawem modułów wbudowanych, takich jak node:fs (pliki), node:http (serwer) czy node:crypto (kryptografia).

W przeglądarce masz obiekty window i document, bo kod steruje stroną. W Node.js ich nie ma. Zamiast nich masz process (informacje o uruchomionym programie) i moduły wbudowane.

Z czego składa się Node.js

Na podstawie: Introduction to Node.js, nodejs.org, stan na październik 2026.

Jeden wątek i operacje, które nie blokują

Dokumentacja Node.js opisuje go tak: aplikacja działa w jednym procesie i nie tworzy nowego wątku dla każdego żądania. Gdy kod prosi o odczyt pliku albo zapytanie do bazy, Node.js nie czeka bezczynnie. Zleca operację systemowi, obsługuje w tym czasie inne zadania i wraca do wyniku, gdy jest gotowy. Ten mechanizm nazywa się pętlą zdarzeń (event loop) i poświęcimy mu cały moduł 2.

Prosty dowód, że kod nie wykonuje się „od góry do dołu” w każdej sytuacji:

JavaScript
console.log("1: start"); setTimeout(() => console.log("3: po 0 ms"), 0); console.log("2: koniec kodu synchronicznego");

Napis numer 3 pojawi się ostatni, mimo opóźnienia 0 ms. Funkcja przekazana do setTimeout trafia do kolejki i czeka, aż skończy się bieżący kod.

Z tego modelu wynikają mocne i słabe strony. Node.js dobrze radzi sobie z wieloma jednoczesnymi połączeniami, które głównie czekają na sieć lub dysk: API, aplikacje czasu rzeczywistego, mikroserwisy, skrypty automatyzujące. Gorzej znosi długie obliczenia w głównym wątku, bo blokują one wszystko inne. Dokumentacja poświęca temu osobny poradnik „Don't Block the Event Loop”.

Która wersja: LTS i Current

Node.js wydaje nowe główne wersje regularnie. Każda przechodzi fazy: Current (najnowsze funkcje), potem Active LTS i Maintenance LTS (długie wsparcie, tylko poprawki). Do pracy i nauki wybieraj wersję LTS, bo dokumentacja zaleca, by aplikacje produkcyjne używały tylko wydań Active LTS lub Maintenance LTS.

Linie wydań Node.js, stan na 15 października 2026

Źródło: harmonogram nodejs/Release (schedule.json), stan na październik 2026.

W tym kursie pracujesz na Node.js 24 LTS. Przykłady sprawdziliśmy też na Node.js 22, więc zadziałają na obu. Od Node.js 27 projekt zmienia zasady: jedna główna wersja rocznie i każda przechodzi do LTS. Dla Ciebie praktyczny wniosek jest prosty: sprawdzaj stronę wydań przed startem nowego projektu i nie zostawaj na wersji, której wsparcie się kończy.

Przykład na cały kurs: piekarnia Kłos z Poznania

Przez wszystkie moduły budujesz oprogramowanie dla fikcyjnej piekarni Kłos, która ma trzy punkty w Poznaniu: Jeżyce, Łazarz i Wilda. Zaczniesz od skryptu liczącego wartość koszyka (np. 2 chleby żytnie po 12,90 zł i 6 kajzerek po 1,10 zł), przejdziesz przez raport sprzedaży z pliku CSV z 240 zamówieniami, a skończysz na API zamówień z testami. Kwoty zapisujemy w groszach jako liczby całkowite, bo w JavaScripcie 0.1 + 0.2 daje 0.30000000000000004. Wrócimy do tego w lekcji o plikach i danych.

Do każdego modułu dostajesz plik ZIP z materiałami: kod startowy, dane i rozwiązania. Wyniki kontrolne (np. przychód z opłaconych zamówień) policzyliśmy niezależnie w Pythonie, więc możesz porównać swój wynik z pewną liczbą.

Najważniejsze w 3 punktach

  1. Node.js to JavaScript poza przeglądarką: silnik V8, pętla zdarzeń z libuv i moduły wbudowane zamiast window i document.
  2. Jeden wątek obsługuje wiele połączeń, bo operacje na plikach i sieci nie blokują; długie obliczenia już tak.
  3. Do pracy wybieraj wersję LTS; w październiku 2026 to Node.js 24, a od 28.10.2026 także Node.js 26.

Źródła

Materiały do pobrania

Pliki do ćwiczeń są dostępne w abonamencie.

  • Pierwsze skrypty: witaj, cennik w module ES, paragonModuł 1: witaj.mjs (lekcja 2), cennik.mjs, zamowienie.mjs i przykład CommonJS (lekcja 3), rozwiązania ćwiczeń 1.1–1.33 KBDostępne w abonamencie
  • Pętla zdarzeń, Promise i odporny raport stanówModuł 2: kolejnosc.mjs i kolejnosc.cjs, blokada.mjs, stany.mjs, rozwiązania z kluczem kolejności, Promise.all, allSettled i limitem czasu4 KBDostępne w abonamencie
  • package.json, plik .env i błąd do znalezienia debugeremModuł 3: package.json ze skryptami, .env.example, konfiguracja.mjs, rabat-z-bledem.mjs i rozwiązania3 KBDostępne w abonamencie
  • 240 zamówień w CSV, raport, strumienie i wyniki kontrolneModuł 4: zamowienia.csv, notatki.mjs, raport.mjs, strumien.mjs, generuj-duzy.mjs, kompresuj.mjs, kontrola.py (wyniki kontrolne w Pythonie), rozwiązania8 KBDostępne w abonamencie
  • Serwer node:http, REST API zamówień i wersja w Express 5Moduł 5: serwer.mjs, api.mjs, katalog express (npm install), rozwiązania z kodami HTTP do sprawdzenia curlem5 KBDostępne w abonamencie
  • Testy node:test, hasła scrypt i łagodne zamykanie serweraModuł 6: cena.mjs z testami, haslo.mjs, zamykanie.mjs, rozwiązania (testy wartości granicznych, lista kontrolna bezpieczeństwa)5 KBDostępne w abonamencie
  • Projekt końcowy: API zamówień piekarni (szablon i rozwiązanie)Moduł 7: start/ (szablon z testami), rozwiazanie/ (9 testów), zamowienia.csv, README z wynikami kontrolnymi i kluczem oceny21 KBDostępne w abonamencie

Następna: Instalacja, REPL i pierwszy skrypt z argumentami

20 lekcji, pliki i certyfikat w abonamencie.

Program kursu

Karta wymagana · anulujesz jednym kliknięciem · Mam już konto