Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Nodemon is een opdrachtregelinterfacehulpprogramma dat helpt bij het bouwen van Node.js-apps door de knooppunttoepassing dynamisch opnieuw te starten wanneer het bestandswijzigingen in de map identificeert.

In dit artikel leert u hoe u nodemon installeert en configureert om aan uw specifieke behoeften te voldoen, en leert u een veelvoorkomende fout kennen die optreedt bij het gebruik van nodemon

Waarom u Nodemon zou moeten gebruiken

Bij het ontwikkelen van webservers of backend-apps moet u uw code wijzigen om fouten af ​​te handelen en de structuur en logica van uw programma te verbeteren.

Nodemon helpt door een server automatisch opnieuw op te starten wanneer u wijzigingen aanbrengt in de code. Dit helpt tijd te besparen en zorgt voor eenvoudiger debuggen.

Hoe Nodemon te installeren

U kunt Nodemon lokaal installeren als ontwikkelingsafhankelijkheid of globaal op het systeempad.

Om nodemon wereldwijd te installeren, voert u de volgende npm-opdracht uit in de terminal van uw computer:

npm installeer nodemon --globally 

Om nodemon lokaal te installeren, moet u de volgende npm-opdracht uitvoeren in uw projectdirectory in uw terminal:

npm install nodemon --save-dev

Nodemon starten in uw webservertoepassing

Het starten van nodemon en ervoor zorgen dat het uw webservertoepassing in de gaten houdt, omvat een paar stappen. Het onderstaande codeblok is een basisscript voor een server die een tekenreeksbericht naar de console logt:

// app.js
const uitdrukken = vereisen('nadrukkelijk');
const app = uitdrukken();

app.luister((5000), ()=>{
troosten.log(`Ik leer over nodemon`)
});

Om dit script te bekijken, voert u de opdracht nodemon uit, gevolgd door de naam van het bestand dat moet worden bekeken:

nodemon-app.js

De resulterende uitvoer zou ongeveer de volgende tekst moeten bevatten:

[nodemon] start `node app.js`
Ik leer over nodemon

Zodra nodemon met succes is gestart, worden eventuele wijzigingen in het app.js bestand zorgt ervoor dat de hele server-app opnieuw wordt geladen.

Je kunt nodemon verlaten door te raken Ctrl+C in de terminal van uw computer. U kunt het nodemon-proces ook handmatig opnieuw starten door het rs commando.

Nodemon gebruiken met opdrachtregelopties

Nodemon heeft verschillende opdrachtregelopties die u kunt gebruiken om zijn gedrag aan te passen.

Voer deze opdracht uit om een ​​lijst te zien van alle beschikbare nodemon-opties en hun functies:

nodemon --help opties

Onder de vele beschikbare opties zijn;

  • --vertraging: Wanneer een bestand verandert, wacht nodemon standaard een seconde voordat het proces opnieuw wordt gestart. U kunt een andere vertraging specificeren met de --vertraging schakelaar. U kunt de hoeveelheid tijd selecteren die nodemon wacht voordat hij opnieuw opstart. Bijvoorbeeld:
    nodemon --delay vijf app.js
  • --negeren: Met de optie Negeerschakelaar kunt u specifieke bestanden in uw webservertoepassing negeren. U kunt de schakeloptie als volgt gebruiken:
    nodemon --ignore lib/app.js
  • --horloge: Standaard bewaakt nodemon tijdens het uitvoeren de huidige werkdirectory. Gebruik de --horloge optie om specifieke bestandspaden toe te voegen en te wijzigen welke map wordt bekeken. Bijvoorbeeld het monitoren van een serverdirectory:
    nodemon --watch-server
  • --exec: Hoewel het een JavaScript-hulpprogramma is, kunt u Nodemon ook gebruiken om niet-JavaScript-bestanden zoals TypeScript, Python en Golang te bekijken. Je kunt de --exec optie om de automatische herlaadfunctie van nodemon in dergelijke scripts te krijgen. Bijvoorbeeld nodemon gebruiken in een TypeScript-script:
    nodemon --exec ts-node
  • --ext: Nodemon zoekt standaard naar bestanden met de extensies JavaScript, TypeScript, CoffeeScript en JSON. Dit is zo omdat Node.js-projecten kunnen werken met TypeScript en CoffeeScript-bestanden die worden gecompileerd tot pure JavaScript voordat ze worden uitgevoerd. Aan de andere kant worden JSON-bestanden ook gecontroleerd omdat ze vaak worden gebruikt om metadata voor Node.js-projecten op te slaan. U kunt de -e (of --ext) om een ​​door komma's gescheiden lijst met te bekijken bestanden op te geven. Bijvoorbeeld om bestanden met extensies te monitoren .js, .json, En .mjs:
    nodemon --ext js, json, mjs

Nodemon-configuratiebestanden gebruiken

Nodemon ondersteunt lokale en globale configuratiebestanden. Je kunt deze vinden in je thuismap of de hoofdmap van het project; ze worden meestal genoemd nodemon.json bestanden. Op deze manier kunt u uw nodemon-configuraties opslaan en deze eenvoudig hergebruiken met andere projecten.

Opdrachtregelopties overschrijven altijd de instellingen van het configuratiebestand. De volgorde van werkprioriteit omvat opdrachtregelopties, lokale bestanden en configuratiebestanden.

Een configuratiebestand kan elke opdrachtregeloptie gebruiken als een JSON-sleutelwaarde.

Bijvoorbeeld:

{
"horloge": [ "server" ],
"ext": [ "js", "ts", "json" ],
"vertraging": "5000",
"negeren": [ "lib/app.js" ]
}

In bovenstaande nodemon.json bestand, is nodemon ingesteld om de server directory, specificeer bestanden met .js, .ts, En .json extensies, vertraging voor 5 seconden voordat u opnieuw opstart na bestandswijzigingen, en ten slotte negeert u bestandswijzigingen in lib/app.js.

Als alternatief ondersteunt nodemon het gebruik pakket.json voor configuratie als u alle pakketconfiguraties op één locatie bewaart. Onder nodemonConfig geef in het bestand package.json de configuratie op in dezelfde indeling als voor een configuratiebestand.

Dit pakket.json-bestand bevat bijvoorbeeld dezelfde configuratie als het bovenstaande nodemon.json-bestand:

{
"naam": "nodemon",
"versie": "",
"beschrijving": "",
"nodemonConfig": {
"horloge": [
"server"
],
"ext": [ "js", "ts", "json" ],
"vertraging": "5",
"negeren": [
"lib/app.js"
]
}
}

Nodemon-fouten afhandelen

Terwijl u uw app ontwikkelt, moet u dat doen omgaan met fouten in JavaScript onderweg. Om met deze fouten om te gaan, moet u eerst weten waarom ze optreden.

Hier is een veelvoorkomende fout die u kunt tegenkomen bij het werken met nodemon:

[nodemon] app gecrasht - wachten op bestandswijzigingen voordat gestart wordt...

Er zijn verschillende redenen waarom dit foutbericht kan optreden en er zijn verschillende manieren om de oorzaken op te lossen.

  • Verkeerde JavaScript-syntaxis in de bestanden die nodemon bekijkt. Om deze fout te voorkomen, gaat u door uw JavaScript-code om eventuele syntaxisfouten erin te identificeren.
  • Het uitvoeren van meerdere taken op de achtergrond kan deze specifieke taak verstoren. Probeer alle achtergrondprocessen te stoppen en het programma opnieuw uit te voeren om dit op te lossen.
  • Onjuiste directory-organisatie kan ook problemen veroorzaken. De bestanden app.js en package.json bijvoorbeeld niet in dezelfde map staan. Zorg ervoor dat u uw directory goed structureert, zodat deze de uitvoering van uw programma's niet beïnvloedt.

Comfortabel worden met Nodemon

Je hebt het nut van nodemon gezien en hoe het een betere workflow kan creëren, fouten kan verminderen en foutopsporing sneller en gemakkelijker kan maken.

Er kunnen echter nog steeds fouten optreden bij het werken met nodemon. Als ontwikkelaar is het belangrijk om te leren hoe u deze fouten kunt oplossen.