Nodemon er et kommandolinjegrensesnittverktøy som hjelper til med å bygge Node.js-apper ved dynamisk å starte nodeapplikasjonen på nytt når den identifiserer filendringer i katalogen.
Denne artikkelen vil lære deg hvordan du installerer og konfigurerer nodemon for å passe dine spesielle behov, samt utforske en vanlig feil som oppstår når du bruker nodemon
Hvorfor du bør bruke Nodemon
Når du utvikler webservere eller backend-apper, er du nødt til å endre koden din for å håndtere feil og forbedre strukturen og logikken til programmet ditt.
Nodemon bistår ved å starte en server på nytt automatisk når du gjør endringer i koden. Dette hjelper deg med å spare tid og gjør det enklere å feilsøke.
Hvordan installere Nodemon
Du kan installere Nodemon enten lokalt som en utviklingsavhengighet eller globalt på systembanen.
For å installere nodemon globalt, kjør følgende npm-kommando i datamaskinens terminal:
npm installer nodemon --globalt
For å installere nodemon lokalt, bør du kjøre følgende npm-kommando inne i prosjektkatalogen i terminalen din:
npm installer nodemon --save-dev
Starte Nodemon i din webserverapplikasjon
Å starte nodemon og få den til å se nettserverapplikasjonen din innebærer noen få trinn. Kodeblokken nedenfor er et grunnleggende skript for en server som logger en strengmelding til konsollen:
// app.js
konst uttrykke = krever('uttrykke');
konst app = express();
app.listen((5000), ()=>{
konsoll.Logg(`Jeg lærer om nodemon`)
});
For å begynne å se dette skriptet, kjør nodemon-kommandoen etterfulgt av navnet på filen den skal se:
nodemon app.js
Den resulterende utgangen bør inneholde noe sånt som følgende tekst:
[nodemon] som starter «node app.js».
Jeg lærer om nodemon
Når nodemonen har startet, vil eventuelle endringer i app.js filen vil føre til en omlasting til hele serverappen.
Du kan gå ut av nodemon ved å trykke Ctrl + C i datamaskinens terminal. Du kan også starte nodemonprosessen på nytt manuelt ved å skrive inn rs kommando.
Bruke Nodemon med kommandolinjealternativer
Nodemon har flere kommandolinjealternativer som du kan bruke til å endre oppførselen.
For å se en liste over alle tilgjengelige nodemonalternativer og deres funksjoner, kjør denne kommandoen:
nodemon --hjelpealternativer
Blant de mange tilgjengelige alternativene er;
-
--forsinkelse: Når en fil endres, venter nodemon et sekund som standard før den starter prosessen på nytt. Du kan angi en annen forsinkelse med --forsinkelse bytte om. Du kan velge hvor lang tid nodemonen skal vente før den starter på nytt. For eksempel:
nodemon --forsinkelse fem app.js
-
--overse: Alternativet ignorer bytte lar deg ignorere spesifikke filer i webserverapplikasjonen. Du kan bruke byttealternativet slik:
nodemon --ignorer lib/app.js
-
--se: Som standard, når den kjøres, overvåker nodemon gjeldende arbeidskatalog. For å ta kontroll over det alternativet, bruk --se alternativet for å legge til spesifikke filstier og endre hvilken katalog som overvåkes. For eksempel overvåking av en serverkatalog:
nodemon --watch server
-
--exec: Selv om det er et JavaScript-verktøy, kan du også bruke Nodemon til å se ikke-JavaScript-filer som TypeScript, Python og Golang. Du kan bruke --exec mulighet for å få nodemons automatiske omlastingsfunksjon i slike skript. For eksempel, bruk av nodemon i et TypeScript-skript:
nodemon --exec ts-node
-
--ekst: Nodemon søker som standard etter filer med JavaScript, TypeScript, CoffeeScript og JSON-utvidelser. Dette er fordi Node.js-prosjekter kan fungere med TypeScript og CoffeeScript-filer som kompileres til ren JavaScript før de kjøres. På den annen side blir JSON-filer også overvåket fordi de ofte brukes til å lagre metadata for Node.js-prosjekter. Du kan bruke -e (eller --ext) bytte for å spesifisere en kommadelt liste over filer som skal ses. For eksempel for å overvåke filer med utvidelser .js, .json, og .mjs:
nodemon --ext js, json, mjs
Bruke Nodemon-konfigurasjonsfiler
Nodemon støtter lokale og globale konfigurasjonsfiler. Du kan finne disse i hjemmekatalogen eller prosjektets rotkatalog; de kalles vanligvis nodemon.json filer. På denne måten kan du lagre nodemonkonfigurasjonene dine og enkelt gjenbruke dem med andre prosjekter.
Kommandolinjealternativer vil alltid overstyre konfigurasjonsfilinnstillingene. Arbeidsprioritetsrekkefølgen inkluderer kommandolinjealternativer, lokale og konfigurasjonsfiler.
En konfigurasjonsfil kan bruke et hvilket som helst kommandolinjealternativ som en JSON-nøkkelverdi.
For eksempel:
{
"se": [ "server" ],
"ext": [ "js", "ts", "json" ],
"forsinkelse": "5000",
"overse": [ "lib/app.js" ]
}
I ovenstående nodemon.json fil, er nodemon satt til å se på server katalog, spesifiser filer med .js, .ts, og .json utvidelser, forsinkelse for 5 sekunder før du starter på nytt etter filendringer, og ignorer til slutt filendringer i lib/app.js.
Som et alternativ støtter nodemon bruk package.json for konfigurasjon hvis du holder alle pakkekonfigurasjoner på ett sted. Under nodemonConfig i filen package.json, spesifiser konfigurasjonen i samme format som du ville gjort for en konfigurasjonsfil.
For eksempel inkluderer denne package.json-filen samme konfigurasjon som nodemon.json-filen ovenfor:
{
"Navn": "nodemon",
"versjon": "",
"beskrivelse": "",
"nodemonConfig": {
"se": [
"server"
],
"ext": [ "js", "ts", "json" ],
"forsinkelse": "5",
"overse": [
"lib/app.js"
]
}
}
Håndtering av Nodemon-feil
Mens du utvikler appen din, må du det håndtere feil i JavaScript underveis. For å håndtere disse feilene, må du først vite hvorfor de oppstår.
Her er en vanlig feil du kan komme over når du arbeider med nodemon:
[nodemon]-appen krasjet - venter på filendringer før du starter ...
Det er flere grunner til at denne feilmeldingen kan oppstå og flere måter å fikse årsakene på.
- Feil JavaScript-syntaks i filene som nodemon ser på. For å forhindre denne feilen, gå gjennom JavaScript-koden for å identifisere eventuelle syntaksfeil i den.
- Å kjøre flere oppgaver i bakgrunnen kan forstyrre denne spesielle oppgaven. Prøv å stoppe alle bakgrunnsprosesser og kjør programmet på nytt for å fikse dette.
- Feil katalogorganisering kan også forårsake problemer. For eksempel å ikke ha filene app.js og package.json i samme katalog. Sørg for at du strukturerer katalogen på riktig måte slik at den ikke påvirker kjøringen av programmene dine.
Bli komfortabel med Nodemon
Du har sett nytten av nodemon og hvordan den kan skape en bedre arbeidsflyt, redusere feil og gjøre feilsøking raskere og enklere.
Det kan imidlertid fortsatt oppstå feil når du arbeider med nodemon. Som utvikler er det viktig å lære hvordan du feilsøker disse feilene.