Marcin Stawowczyk · @m7rlin
3 min czytania ·
Podczas tworzenia aplikacji w Node.js, szczególnie serwerów webowych, typowy cykl pracy wygląda tak:
Napisz lub zmodyfikuj kod.
Zatrzymaj działający serwer (zazwyczaj przez Ctrl + C w terminalu).
Uruchom serwer ponownie (node nazwa_pliku.js).
Przetestuj zmiany w przeglądarce lub innym narzędziu.
Powtórz...
Chociaż działa, ten proces szybko staje się monotonny i czasochłonny, zwłaszcza przy częstych, drobnych poprawkach. Każde ręczne zatrzymanie i uruchomienie to kilka straconych sekund, które sumują się w ciągu dnia. Na szczęście istnieje proste rozwiązanie tego problemu: Nodemon.
Nodemon to popularne narzędzie (pakiet NPM) stworzone specjalnie na potrzeby developmentu aplikacji Node.js. Jego głównym zadaniem jest monitorowanie zmian w plikach Twojego projektu. Gdy Nodemon wykryje, że plik został zapisany (czyli zmodyfikowany), automatycznie restartuje Twoją aplikację Node.js.
Działa jak "strażnik", który obserwuje Twój kod i wykonuje za Ciebie nudne zadanie ponownego uruchamiania serwera.
Ważne: Nodemon jest narzędziem deweloperskim. Nie powinieneś go używać do uruchamiania aplikacji w środowisku produkcyjnym. Tam stosuje się inne narzędzia do zarządzania procesami, takie jak PM2 czy systemd.
Oszczędność czasu: Koniec z ręcznym Ctrl + C
i node app.js po każdej zmianie. Nodemon robi to za Ciebie.
Większa produktywność: Mniej przerw w pracy oznacza płynniejszy workflow i szybsze postępy.
Szybszy cykl informacji zwrotnej: Natychmiast widzisz efekt swoich zmian po zapisaniu pliku.
Mniej frustracji: Eliminacja powtarzalnej, manualnej czynności poprawia komfort pracy.
Nodemon instalujemy jako zależność deweloperską (devDependency
), ponieważ potrzebujemy go tylko podczas tworzenia aplikacji, a nie do jej działania na produkcji.
Otwórz terminal w katalogu swojego projektu i wpisz:
npm install nodemon --save-dev
lub krócej:
npm install nodemon -D
Ta komenda pobierze pakiet Nodemon i zapisze go w sekcji devDependencies
w Twoim pliku package.json.
(Alternatywnie można zainstalować Nodemon globalnie (npm install -g nodemon
), ale instalacja lokalna jako devDependency jest zalecaną praktyką, ponieważ zapewnia, że każdy pracujący nad projektem używa tej samej wersji narzędzia).
Najprostszym sposobem jest uruchomienie go bezpośrednio z terminala, podając jako argument główny plik Twojej aplikacji:
npx nodemon twoj_plik_startowy.js
(Używamy npx, aby uruchomić lokalnie zainstalowaną wersję Nodemon, bez potrzeby instalacji globalnej).
Jednak zalecanym i bardziej praktycznym sposobem jest dodanie skryptu do pliku package.json
. Otwórz package.json
i w sekcji "scripts
" dodaj nowy wpis, np. "dev
":
{
"name": "moj-projekt",
"version": "1.0.0",
// ... inne pola ...
"scripts": {
"start": "node index.js", // Skrypt do uruchomienia na produkcji
"dev": "nodemon index.js", // Skrypt do uruchomienia w trybie deweloperskim
"test": "echo \"Error: no test specified\" && exit 1"
},
// ... reszta pliku ...
"devDependencies": {
"nodemon": "^2.0.20" // Upewnij się, że nodemon jest tutaj
}
}
(Zastąp index.js
nazwą swojego głównego pliku serwera, np. server.js
, app.js
).
Teraz, aby uruchomić aplikację z Nodemonem, wystarczy wpisać w terminalu:
npm run dev
Nodemon uruchomi Twoją aplikację (index.js w tym przykładzie) i będzie nasłuchiwał zmian w plikach .js
, .mjs
, .cjs
, .json
w bieżącym katalogu i podkatalogach. Po każdej zapisanej zmianie zobaczysz w terminalu komunikat o restarcie aplikacji.
Nodemon to proste, ale niezwykle użyteczne narzędzie, które powinno znaleźć się w arsenale każdego programisty Node.js. Automatyzując proces restartowania aplikacji podczas developmentu, oszczędza czas, zwiększa produktywność i sprawia, że praca staje się przyjemniejsza. Integracja z NPM scripts czyni jego użycie trywialnie prostym.
Chcesz poznać więcej narzędzi i technik usprawniających pracę z Node.js? Chcesz zbudować solidne fundamenty programowania backendowego?
Nasz kurs to doskonałe miejsce, aby zgłębić tajniki Node.js, nauczyć się najlepszych praktyk i poznać narzędzia takie jak Nodemon w praktycznym zastosowaniu:
🚀 JavaScript dla programistów: Node.js od podstaw 🚀
Przyspiesz swój rozwój i twórz aplikacje Node.js efektywniej niż kiedykolwiek wcześniej!