NodeJS: Wykrycie automatycznej zmiany kodu
Opublikowano: 20.11.2021 - tagi: NodeJS JavaScript TypeScript Konfiguracja Komenda
We frontendzie automatyczne przekompilowanie kodu po jego zmianie to standard. Można to samo zrobić w NodeJS.
Podam dwie wersje dla "zwykłego" JavaScript i dla TypeScript.
Wersja dla JavaScript
Instalujemy nodemon
Nodemon to narzędzie, które zrestartuje Twoją aplikację napisaną pod NodeJS od razu gdy kod się zmieni.
Instalujemy:
npm i --save-dev nodemon
Konfiguracja
W pliku package.json w scripts podpinamy nodemon:
{
...
"scripts": {
"serve": "nodemon index.js"
}
}
Wystarczy teraz tylko odpalić skrypt serve:
npm run serve
i zmienić kod, a skrypt sam się przełąduje (i oczywiście zapisać zmiany pliku!).
Wersja dla TypeScript
Jeśli nie podpinałeś TypeScript'a z NodeJS to tutaj dowiesz się jak to zrobić.
Wersja dla TypeScript jest bardzo podobna do poprzedniej:
Instalacja
Oprócz nodemon zainstalujemy także: concurrently. To narzędzie służy do uruchomienia kilku komend naraz. Po co to nam się dokładnie przyda, opiszę za chwilę.
npm i --save-dev concurrently nodemon
Konfiguracja
W pliku package.json w scripts podpinamy:
{
...
"scripts": {
"serve": "concurrently \"tsc --watch\" \"nodemon -q dist/index.js\""
}
}
Pod serve wywołujemy dwa polecenia. Żeby, to zrobić posługujemy się concurrently. Składnia jest prosta po słowie: concurrently podajemy w nawiasach: "" dane polecenie, które chcemy wywołać. W tym przypadku jest, to: tsc --watch — będzie nasłuchiwać ewentualnych zmian, w kodzie TypeScript. A drugie polecenie po prostu zrestartuje skrypt, gdy zmiany w TypeScript zostaną przekompilowane do docelowego pliku JavaScript.