Node.js to środowisko uruchomieniowe, które pozwala wykonywać kod JavaScript poza przeglądarką – bezpośrednio z terminala. Dzięki temu deweloperzy mogą tworzyć zarówno frontend, jak i backend w jednym języku. Specyfiką Node.js jest pętla zdarzeń (event loop) i nieblokujące I/O, co umożliwia obsługę wielu jednoczesnych połączeń z wysoką wydajnością.
Co to jest npm – menedżer pakietów Node.js?
npm (Node Package Manager) jest domyślnym menedżerem pakietów dla środowiska Node.js i instaluje się automatycznie wraz z nim. To menedżer zależności dla JavaScript oraz największy publiczny rejestr pakietów JavaScript na świecie. npm powstał w 2010 roku i od tego czasu stał się standardem w ekosystemie Node.js.
npm umożliwia instalowanie, aktualizowanie i zarządzanie zależnościami projektu. Pakiety to paczki z kodem, które można pobrać i wykorzystać w projekcie. Aby opublikować własny pakiet, wystarczy założyć konto na npmjs.org.
Najczęstsze zadania wykonywane za pomocą npm to:
- instalowanie nowych pakietów do projektu,
- aktualizowanie istniejących zależności,
- usuwanie niepotrzebnych paczek,
- uruchamianie zdefiniowanych skryptów (np. test, build),
- publikowanie własnych pakietów do rejestru.
Instalacja Node.js i npm
Windows
Proces instalacji jest banalnie prosty – wykonaj następujące kroki:
- Pobierz instalator ze strony oficjalnej (nodejs.org) i wybierz wersję LTS;
- Uruchom instalator i postępuj zgodnie z instrukcjami na ekranie;
- Po zakończeniu instalacji otwórz Wiersz poleceń i sprawdź wersje narzędzi, wpisując:
Wykonaj w terminalu:
node -v
npm -v
Polecenia te zwrócą aktualnie zainstalowane wersje Node.js oraz npm.
Systemy Unix/Linux i macOS
Najwygodniej skorzystać z menedżera wersji nvm (Node Version Manager), który ułatwia instalację i przełączanie się między wersjami Node.js. Po zainstalowaniu nvm uruchom w terminalu:
nvm install node
nvm use node
Inicjowanie nowego projektu
Aby rozpocząć nowy projekt Node.js w pustym katalogu, użyj polecenia npm init, które utworzy plik package.json – rdzeń projektu, przechowujący metadane, listę zależności oraz skrypty.
Wykonaj w terminalu:
npm init
Konfigurator poprosi o podanie m.in. następujących informacji:
- nazwa projektu,
- wersja,
- opis,
- plik wejściowy (main),
- komenda do testów,
- link do repozytorium,
- słowa kluczowe,
- licencja.
Alternatywą jest użycie flagi, która automatycznie przyjmie wartości domyślne:
npm init -y
Po uruchomieniu tego polecenia otrzymasz plik package.json o przykładowej zawartości:
{
"name": "test-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Podstawowe komendy npm
Instalacja pakietów
Jeśli chcesz dodać do projektu nową bibliotekę lub framework, użyj polecenia:
npm install <nazwa-pakietu>
Na przykład, aby zainstalować popularne narzędzia:
# Instalacja zależności produkcyjnej, np. frameworka Express
npm install express
# Instalacja zależności deweloperskiej, np. narzędzia do testowania Mocha
npm install mocha --save-dev
Polecenie npm install <pakiet> dodaje wpis do sekcji dependencies w package.json i pobiera pakiet do node_modules.
Aktualizacja pakietów
Aby zaktualizować zainstalowane pakiety do najnowszych dopuszczalnych wersji, użyj:
npm update
Instalacja wszystkich zależności projektu
W katalogu głównym projektu (tam, gdzie znajduje się package.json) zainstaluj wszystkie wymagane zależności poleceniem:
npm install
Polecenie to pobierze odpowiednie moduły do folderu node_modules w projekcie.
Instalacja globalna pakietów
Jeśli chcesz zainstalować pakiet globalnie na całej maszynie, użyj flagi -g:
# Instalacja narzędzia nodemon do automatycznego restartowania aplikacji
npm install -g nodemon
Zarządzanie zależnościami
npm automatycznie rozwiązuje zależności między pakietami. W pliku package.json występują m.in. dwa kluczowe typy: dependencies (pakiety potrzebne do uruchomienia aplikacji) oraz devDependencies (pakiety używane tylko w trakcie rozwoju, np. narzędzia testowe czy bundlery). Pakiety instalowane bez flagi --save-dev trafiają do dependencies, a z flagą --save-dev – do devDependencies.
Skrypty npm
Jedną z kluczowych funkcji npm są skrypty, które umożliwiają definiowanie własnych poleceń wykonywanych w terminalu. To prosty sposób na automatyzację zadań, takich jak uruchamianie serwera, testowanie czy budowanie.
Skrypty definiuje się w sekcji scripts pliku package.json. Przykład:
{
"scripts": {
"start": "node index.js",
"test": "mocha",
"build": "webpack"
}
}
Aby uruchomić skrypt, wpisz w terminalu:
# Uruchomienie aplikacji
npm start
# Wykonanie testów
npm test
# Zbudowanie projektu
npm run build
npm start i npm test to skróty, natomiast pozostałe skrypty uruchamia się poprzez npm run <nazwa-skryptu>. Dodatkowo, podczas wykonywania npm start kolejno uruchamiane są etapy prestart, start i poststart.
Praktyczne zastosowania npm
npm udostępnia ogromny ekosystem narzędzi. Oto wybrane przykłady pakietów i ich zastosowań:
| Pakiet | Zastosowanie |
|---|---|
| Express | Framework do budowania aplikacji webowych |
| gm, sharp | Manipulowanie obrazami: edycja, zmiana rozmiaru, kompresja |
| PDFKit | Generowanie plików PDF |
| validator.js | Walidacja ciągów danych |
| imagemin, UglifyJS2 | Minifikacja kodu |
| spritesmith | Generowanie arkuszy sprite |
| Winston | Logowanie zdarzeń |
| commander.js | Tworzenie aplikacji wiersza polecenia |
Pierwsze kroki – praktyka
Po zainstalowaniu Node.js i npm możesz od razu zacząć pracę. Wykonaj te kroki:
- Utwórz nowy katalog dla projektu;
- Przejdź do niego w terminalu;
- Wykonaj
npm init -y, aby szybko wygenerowaćpackage.json; - Zainstaluj potrzebne pakiety, np.
npm install express; - Stwórz plik
index.jsz kodem aplikacji; - Dodaj skrypty w
package.jsondo uruchamiania aplikacji; - Uruchom aplikację za pomocą
npm start.
Dzięki npm możesz łatwo zarządzać wszystkimi zależnościami projektu, a edytor taki jak Visual Studio Code lub WebStorm znacząco przyspieszy Twoją pracę.






