Nodemon er et kommandolinjeværktøj, der hjælper med at bygge Node.js-apps ved dynamisk at genstarte nodeapplikationen, når den identificerer filændringer i mappen.
Denne artikel vil lære dig, hvordan du installerer og konfigurerer nodemon, så den passer til dine særlige behov, samt udforsker en almindelig fejl, der opstår, når du bruger nodemon
Hvorfor du skal bruge Nodemon
Når du udvikler webservere eller backend-apps, er du forpligtet til at ændre din kode for at håndtere fejl og forbedre strukturen og logikken i dit program.
Nodemon hjælper ved automatisk at genstarte en server, når du foretager ændringer i dens kode. Dette hjælper med at spare tid og gør det lettere at fejlfinde.
Sådan installeres Nodemon
Du kan installere Nodemon enten lokalt som en udviklingsafhængighed eller globalt på systemstien.
For at installere nodemon globalt skal du køre følgende npm-kommando i din computers terminal:
npm installer nodemon --globalt
For at installere nodemon lokalt, skal du køre følgende npm-kommando inde i din projektmappe i din terminal:
npm installer nodemon --save-dev
Start af Nodemon i din webserverapplikation
At starte nodemon og få den til at se din webserverapplikation kræver et par trin. Kodeblokken nedenfor er et grundlæggende script til en server, der logger en strengmeddelelse til konsollen:
// app.js
konst udtrykke = kræve('udtrykke');
konst app = express();
app.lyt((5000), ()=>{
konsol.log(`Jeg lærer om nodemon`)
});
For at begynde at se dette script skal du køre nodemon-kommandoen efterfulgt af navnet på den fil, den skal se:
nodemon app.js
Det resulterende output skal indeholde noget i stil med følgende tekst:
[nodemon] starter "node app.js".
Jeg lærer om nodemon
Når nodemon er startet, vil eventuelle ændringer af app.js fil vil forårsage en genindlæsning til hele serverappen.
Du kan afslutte nodemon ved at trykke Ctrl + C i din computers terminal. Du kan også genstarte nodemonprocessen manuelt ved at indtaste kr kommando.
Brug af Nodemon med kommandolinjeindstillinger
Nodemon har flere kommandolinjeindstillinger, som du kan bruge til at ændre dens adfærd.
For at se en liste over alle tilgængelige nodemonindstillinger og deres funktioner skal du køre denne kommando:
nodemon --hjælpemuligheder
Blandt de mange tilgængelige muligheder er;
-
--forsinke: Når en fil ændres, venter nodemon som standard et sekund, før den genstarter processen. Du kan angive en anden forsinkelse med --forsinke kontakt. Du kan vælge den tid, nodemon skal vente, før den genstartes. For eksempel:
nodemon --delay fem app.js
-
--ignorere: Ignorer switch-indstillingen giver dig mulighed for at ignorere specifikke filer i din webserverapplikation. Du kan bruge skiftemuligheden sådan:
nodemon --ignorer lib/app.js
-
--holde øje: Som standard, når den kører, overvåger nodemon den aktuelle arbejdsmappe. For at tage kontrol over denne mulighed skal du bruge --holde øje mulighed for at tilføje specifikke filstier og ændre, hvilken mappe der overvåges. For eksempel overvågning af et serverbibliotek:
nodemon --watch server
-
--exec: Selvom det er et JavaScript-værktøj, kan du også bruge Nodemon til at se ikke-JavaScript-filer som TypeScript, Python og Golang. Du kan bruge --exec mulighed for at få nodemons automatiske genindlæsningsfunktion i sådanne scripts. For eksempel ved at bruge nodemon i et TypeScript-script:
nodemon --exec ts-node
-
--ekst: Nodemon søger som standard efter filer med JavaScript, TypeScript, CoffeeScript og JSON-udvidelser. Dette er fordi Node.js-projekter kan arbejde med TypeScript og CoffeeScript-filer, der kompileres til rent JavaScript, før de udføres. På den anden side overvåges JSON-filer også, fordi de ofte bruges til at gemme metadata til Node.js-projekter. Du kan bruge -e (eller --ext) skifte for at angive en kommasepareret liste over filer, der skal ses. For eksempel at overvåge filer med udvidelser .js, .json, og .mjs:
nodemon --ext js, json, mjs
Brug af Nodemon-konfigurationsfiler
Nodemon understøtter lokale og globale konfigurationsfiler. Du kan finde disse i din hjemmemappe eller projektets rodmappe; de kaldes typisk nodemon.json filer. På denne måde kan du gemme dine nodemon-konfigurationer og nemt genbruge dem med andre projekter.
Kommandolinjeindstillinger vil altid tilsidesætte indstillingerne for konfigurationsfilen. Arbejdsprioritetsrækkefølgen inkluderer kommandolinjeindstillinger, lokale og konfigurationsfiler.
En konfigurationsfil kan bruge enhver kommandolinjeindstilling som en JSON-nøgleværdi.
For eksempel:
{
"holde øje": [ "server" ],
"ext": [ "js", "ts", "json" ],
"forsinke": "5000",
"ignorere": [ "lib/app.js" ]
}
I ovenstående nodemon.json fil, er nodemon indstillet til at se server mappe, angiv filer med .js, .ts, og .json forlængelser, forsinkelse for 5 sekunder før genstart efter filændringer, og til sidst ignorer filændringer i lib/app.js.
Som et alternativ understøtter nodemon at bruge package.json til konfiguration, hvis du opbevarer alle pakkekonfigurationer på ét sted. Under nodemonConfig i filen package.json skal du angive konfigurationen i samme format, som du ville gøre for en konfigurationsfil.
For eksempel inkluderer denne package.json-fil den samme konfiguration som filen nodemon.json ovenfor:
{
"navn": "nodemon",
"version": "",
"beskrivelse": "",
"nodemonConfig": {
"holde øje": [
"server"
],
"ext": [ "js", "ts", "json" ],
"forsinke": "5",
"ignorere": [
"lib/app.js"
]
}
}
Håndtering af Nodemon-fejl
Mens du udvikler din app, bliver du nødt til det håndtere fejl i JavaScript undervejs. For at håndtere disse fejl skal du først vide, hvorfor de opstår.
Her er en almindelig fejl, som du kan støde på, når du arbejder med nodemon:
[nodemon]-appen gik ned - venter på filændringer før start...
Der er flere grunde til, at denne fejlmeddelelse kan forekomme, og flere måder at løse årsagerne på.
- Forkert JavaScript-syntaks i filerne, som nodemon ser. For at forhindre denne fejl skal du gennemgå din JavaScript-kode for at identificere eventuelle syntaksfejl i den.
- At køre flere opgaver i baggrunden kan forstyrre denne særlige opgave. Prøv at stoppe alle baggrundsprocesser og kør programmet igen for at løse dette.
- Forkert katalogorganisering kan også forårsage problemer. For eksempel ikke at have filerne app.js og package.json i samme mappe. Sørg for at strukturere dit bibliotek korrekt, så det ikke påvirker afviklingen af dine programmer.
Kom godt tilpas med Nodemon
Du har set nytten af nodemon, og hvordan det kan skabe en bedre arbejdsgang, reducere fejl og gøre fejlfinding hurtigere og nemmere.
Der kan dog stadig opstå fejl, når du arbejder med nodemon. Som udvikler er det vigtigt at lære at fejlfinde disse fejl.