Arbeiten mit Nodemon, dem Node.js-Monitor

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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert