Arbeiten mit Nodemon, dem Node.js-Monitor
Nodemon ist ein Dienstprogramm für die Befehlszeilenschnittstelle, das beim Erstellen von Node.js-Apps hilft, indem es die Knotenanwendung dynamisch neu startet, wenn es Dateiänderungen im Verzeichnis erkennt.
In diesem Artikel lernen Sie, wie Sie nodemon installieren und konfigurieren, um es Ihren speziellen Anforderungen anzupassen, und untersuchen einen häufigen Fehler, der bei der Verwendung von nodemon auftritt
Warum Sie Nodemon verwenden sollten
Bei der Entwicklung von Webservern oder Backend-Apps müssen Sie Ihren Code ändern, um Fehler zu behandeln und die Struktur und Logik Ihres Programms zu verbessern.
Nodemon hilft, indem es einen Server automatisch neu startet, wenn Sie Änderungen an seinem Code vornehmen. Dies spart Zeit und ermöglicht ein einfacheres Debugging.
So installieren Sie Nodemon
Sie können Nodemon entweder lokal als Entwicklungsabhängigkeit oder global im Systempfad installieren.
Um nodemon global zu installieren, führen Sie den folgenden npm-Befehl im Terminal Ihres Computers aus:
npm install nodemon --globally
Um nodemon lokal zu installieren, sollten Sie den folgenden npm-Befehl in Ihrem Projektverzeichnis in Ihrem Terminal ausführen:
npm install nodemon --save-dev
Starten von Nodemon in Ihrer Webserver-Anwendung
Das Starten von nodemon und das Überwachen Ihrer Webserver-Anwendung erfordert einige Schritte. Der folgende Codeblock ist ein einfaches Skript für einen Server, der eine Zeichenfolgennachricht an die Konsole protokolliert:
// app.js
const express = require('express');
const app = express();
app.listen((5000), ()=>{
console.log(`I'm learning about nodemon`)
});
Um mit der Überwachung dieses Skripts zu beginnen, führen Sie den Befehl nodemon gefolgt vom Namen der Datei aus, die überwacht werden soll:
nodemon app.js
Die resultierende Ausgabe sollte etwa den folgenden Text enthalten:
[nodemon] starting `node app.js`
I'm learning about nodemon
Sobald nodemon erfolgreich gestartet wurde, führen alle Änderungen an der Datei app.js zu einem Neuladen der gesamten Server-App.
Sie können nodemon beenden, indem Sie im Terminal Ihres Computers Strg + C drücken. Sie können den nodemon-Prozess auch manuell neu starten, indem Sie den Befehl rs eingeben .
Verwenden von Nodemon mit Befehlszeilenoptionen
Nodemon verfügt über mehrere Befehlszeilenoptionen, mit denen Sie sein Verhalten ändern können.
Führen Sie diesen Befehl aus, um eine Liste aller verfügbaren nodemon-Optionen und ihrer Funktionen anzuzeigen:
nodemon --help options
Unter den vielen verfügbaren Optionen sind;
- –delay : Wenn sich eine Datei ändert, wartet nodemon standardmäßig eine Sekunde, bevor der Prozess neu gestartet wird. Sie können mit dem Delay -Schalter — eine andere Verzögerung festlegen . Sie können die Zeitspanne auswählen, die nodemon wartet, bevor es neu gestartet wird. Zum Beispiel:
nodemon --delay five app.js
- –ignore : Die Ignorieren-Option ermöglicht es Ihnen, bestimmte Dateien in Ihrer Webserver-Anwendung zu ignorieren. Sie können die Switch-Option wie folgt verwenden:
nodemon --ignore lib/app.js
- –watch : Standardmäßig überwacht nodemon bei der Ausführung das aktuelle Arbeitsverzeichnis. Um die Kontrolle über diese Option zu übernehmen, verwenden Sie die Option — watch , um bestimmte Dateipfade hinzuzufügen und zu ändern, welches Verzeichnis überwacht wird. Beispiel: Überwachung eines Serververzeichnisses:
nodemon --watch server
- –exec : Obwohl es sich um ein JavaScript-Dienstprogramm handelt, können Sie mit Nodemon auch Nicht-JavaScript-Dateien wie TypeScript, Python und Golang überwachen. Sie können die Option —exec verwenden, um die automatische Neuladefunktion von nodemon in solchen Skripten zu erhalten. Verwenden Sie beispielsweise nodemon in einem TypeScript-Skript:
nodemon --exec ts-node
- –ext : Nodemon sucht standardmäßig nach Dateien mit JavaScript-, TypeScript-, CoffeeScript- und JSON-Erweiterungen. Dies liegt daran, dass Node.js-Projekte mit TypeScript- und CoffeeScript-Dateien arbeiten können, die vor der Ausführung in reines JavaScript kompiliert werden. Andererseits werden auch JSON-Dateien überwacht, da sie häufig zum Speichern von Metadaten für Node.js-Projekte verwendet werden. Sie können den Schalter – e (oder — ext ) verwenden, um eine durch Kommas getrennte Liste der zu überwachenden Dateien anzugeben. So überwachen Sie beispielsweise Dateien mit den Erweiterungen .js , .json und .mjs :
nodemon --ext js,json,mjs
Verwenden von Nodemon-Konfigurationsdateien
Nodemon unterstützt lokale und globale Konfigurationsdateien. Sie finden diese in Ihrem Home-Verzeichnis oder im Root-Verzeichnis des Projekts; Sie werden normalerweise nodemon.json- Dateien genannt. Auf diese Weise können Sie Ihre Nodemon-Konfigurationen speichern und problemlos mit anderen Projekten wiederverwenden.
Befehlszeilenoptionen überschreiben immer die Einstellungen der Konfigurationsdatei. Die Arbeitsprioritätsreihenfolge umfasst Befehlszeilenoptionen, lokale und Konfigurationsdateien.
Eine Konfigurationsdatei kann jede Befehlszeilenoption als JSON-Schlüsselwert verwenden.
Zum Beispiel:
{
"watch": [ "server" ],
"ext": [ "js", "ts", "json" ],
"delay": "5000",
"ignore": [ "lib/app.js" ]
}
In der obigen Datei nodemon.json ist nodemon so eingestellt, dass es das Serververzeichnis überwacht , Dateien mit den Erweiterungen .js , .ts und .json angibt , vor dem Neustart nach Dateiänderungen 5 Sekunden verzögert und schließlich Dateiänderungen in lib/app ignoriert .js.
Als Alternative unterstützt nodemon die Verwendung von package.json für die Konfiguration, wenn Sie alle Paketkonfigurationen an einem Ort aufbewahren. Geben Sie unter nodemonConfig in der Datei „package.json“ die Konfiguration im gleichen Format an wie für eine Konfigurationsdatei.
Diese package.json-Datei enthält beispielsweise dieselbe Konfiguration wie die obige nodemon.json-Datei:
{
"name": "nodemon",
"version": "",
"description": "",
"nodemonConfig": {
"watch": [
"server"
],
"ext": [ "js", "ts", "json" ],
"delay": "5",
"ignore": [
"lib/app.js"
]
}
}
Umgang mit Nodemon-Fehlern
Während Sie Ihre App entwickeln, müssen Sie Fehler in JavaScript behandeln. Um diese Fehler zu behandeln, müssen Sie zunächst wissen, warum sie auftreten.
Hier ist ein häufiger Fehler, auf den Sie bei der Arbeit mit nodemon stoßen können:
[nodemon] app crashed - waiting for file changes before starting...
Es gibt mehrere Gründe, warum diese Fehlermeldung auftreten kann, und mehrere Möglichkeiten, die Ursachen zu beheben.
- Falsche JavaScript-Syntax in den Dateien, die nodemon überwacht. Um diesen Fehler zu vermeiden, gehen Sie Ihren JavaScript-Code durch, um darin enthaltene Syntaxfehler zu identifizieren.
- Das Ausführen mehrerer Aufgaben im Hintergrund kann diese bestimmte Aufgabe beeinträchtigen. Versuchen Sie, alle Hintergrundprozesse zu stoppen und das Programm erneut auszuführen, um dies zu beheben.
- Eine falsche Verzeichnisorganisation kann ebenfalls Probleme verursachen. Beispiel: Die Dateien „app.js“ und „package.json“ befinden sich nicht im selben Verzeichnis. Stellen Sie sicher, dass Sie Ihr Verzeichnis richtig strukturieren, damit es die Ausführung Ihrer Programme nicht beeinträchtigt.
Machen Sie sich mit Nodemon vertraut
Sie haben gesehen, wie nützlich nodemon ist und wie es einen besseren Arbeitsablauf schaffen, Fehler reduzieren und das Debuggen schneller und einfacher machen kann.
Dennoch können bei der Arbeit mit nodemon Fehler auftreten. Als Entwickler ist es wichtig zu lernen, wie man diese Fehler behebt.
Schreibe einen Kommentar