Średni · lekcja 5

Node.js — środowisko uruchomieniowe JavaScript i npm

Widziałeś już w poprzedniej lekcji polecenie "ng generate component" wpisywane w terminalu. Żeby to w ogóle zadziałało, komputer potrzebuje Node.js — silnika, który pozwala uruchamiać kod JavaScript/TypeScript POZA przeglądarką. Bez Node.js narzędzia Angulara...

Zacznij tutaj

Po co się tego uczymy?

Widziałeś już w poprzedniej lekcji polecenie "ng generate component" wpisywane w terminalu. Żeby to w ogóle zadziałało, komputer potrzebuje Node.js — silnika, który pozwala uruchamiać kod JavaScript/TypeScript POZA przeglądarką. Bez Node.js narzędzia Angulara (Angular CLI) w ogóle by nie istniały. Ta lekcja tłumaczy, czym jest Node.js, po co jest potrzebny, i jak korzystać z jego menedżera pakietów — npm.

Wprowadzenie

Teoria

Czym jest Node.js? To środowisko uruchomieniowe (runtime) pozwalające wykonywać kod JavaScript POZA przeglądarką — bezpośrednio na komputerze, jak zwykły program. Zbudowane jest na silniku V8 (tym samym, którego używa przeglądarka Google Chrome do wykonywania JavaScriptu na stronach). Dzięki Node.js, JavaScript (a właściwie TypeScript, kompilowany do JavaScriptu) może służyć nie tylko do interaktywności na stronie, ale też do: uruchamiania narzędzi deweloperskich (jak Angular CLI), budowania/kompilowania projektów, a nawet pisania całych serwerów backendowych (choć w tym kursie backend piszemy w C#/ASP.NET Core, więc Node.js pełni tu rolę "narzędzia pomocniczego" dla Angulara, a nie właściwego backendu).

npm (Node Package Manager) to menedżer pakietów dołączony domyślnie do Node.js — pozwala pobierać i instalować gotowe biblioteki (pakiety) napisane przez innych programistów, zamiast pisać wszystko od zera. To bezpośredni odpowiednik NuGet z C# (którego używałeś przy instalowaniu np. sqlite-net-pcl w dziale MAUI) — tylko dla świata JavaScript/TypeScript.

PolecenieDziałanie
node -vsprawdza zainstalowaną wersję Node.js
npm -vsprawdza zainstalowaną wersję npm
npm install nazwa-pakietuinstaluje konkretny pakiet w BIEŻĄCYM projekcie (zapisuje go w package.json)
npm install -g nazwa-pakietuinstaluje pakiet GLOBALNIE, dostępny z każdego miejsca w terminalu (tak instaluje się np. Angular CLI: npm install -g @angular/cli)
npm install (bez nazwy pakietu)instaluje WSZYSTKIE zależności wymienione w pliku package.json danego projektu — pierwsza rzecz, którą się robi po pobraniu/sklonowaniu cudzego projektu Angular
npm start / npm run builduruchamia predefiniowane w package.json "skrypty" — np. uruchomienie serwera deweloperskiego albo zbudowanie finalnej wersji aplikacji

Plik package.json to serce każdego projektu Node.js/Angular — zawiera listę WSZYSTKICH zależności (bibliotek) projektu wraz z ich wersjami, oraz zdefiniowane skrypty (polecenia) do uruchamiania różnych czynności (start, build, test). To dokładnie ten sam pomysł co plik .csproj w projektach C#, tylko w formacie JSON zamiast XML.

Skąd wziąć Node.js? Instalator pobiera się z oficjalnej strony nodejs.org — zaleca się wersję oznaczoną LTS (Long Term Support — długoterminowe wsparcie), bardziej stabilną niż najnowsza wersja "Current". Po instalacji Node.js i npm są dostępne z dowolnego terminala w systemie, w tym z terminala wbudowanego w Visual Studio 2026.

Rola Node.js w TYM konkretnym kursie. Ważne rozróżnienie: w niektórych projektach (i w informatorze CKE, jako jedna z trzech opcji backendu) Node.js jest używany do napisania CAŁEGO serwera backendowego. W TYM kursie backend piszemy w ASP.NET Core (C#) — Node.js pełni tu rolę WSPIERAJĄCĄ: uruchamia narzędzia budujące Angulara (Angular CLI, kompilator TypeScript, serwer deweloperski ng serve).

Zobacz zależności

Schemat

Komputer (system operacyjny)
        │
        │  instalacja: nodejs.org (wersja LTS)
        ▼
Node.js (silnik V8 - wykonuje JavaScript poza przeglądarką)
        │
        ├── npm (menedżer pakietów, wbudowany w Node.js)
        │       │
        │       │  npm install -g @angular/cli
        │       ▼
        │   Angular CLI (polecenie "ng" dostępne globalnie)
        │
        └── package.json (w każdym projekcie Angular)
                │  npm install  → pobiera WSZYSTKIE zależności z tego pliku
                ▼
        node_modules/ (folder z pobranymi bibliotekami — NIE commituje się do Git!)

W TYM kursie: Node.js = narzędzie pomocnicze dla Angulara
              ASP.NET Core (C#) = właściwy backend

Połącz z praktyką

Przykład z życia

Node.js to trochę jak silnik w warsztacie stolarskim, który napędza różne narzędzia (piły, wiertarki) — sam w sobie nie buduje mebli, ale bez niego żadne z tych narzędzi by nie działało. Dokładnie tak samo, Node.js sam nie buduje Twojej aplikacji Angular, ale bez niego polecenia ng generate, ng serve czy npm install w ogóle by nie zadziałały.