Heim >Web-Frontend >js-Tutorial >Verwenden von Nodemon und beobachten Sie in node.js nach Live -Neustarts

Verwenden von Nodemon und beobachten Sie in node.js nach Live -Neustarts

Lisa Kudrow
Lisa KudrowOriginal
2025-02-08 10:00:19404Durchsuche

Using Nodemon and Watch in Node.js for Live Restarts

Verabschieden Sie sich von der Müdigkeit von wiederholten Neustarts in der Entwicklung von Node.js! In diesem Artikel werden zwei Methoden eingeführt, mit denen Sie die Entwicklungseffizienz verbessern können.

Kernpunkte

  • Effiziente Entwicklung mit Nodemon: Wir werden Nodemon, ein Node.js-Modul von Drittanbietern, einführen, das das Problem des manuellen Stoppens und Neustarts der Node.js-Anwendung nach jeder Code-Änderung effektiv lösen kann.
  • Nodemon -Konfigurationsoptionen: Wir werden verschiedene Konfigurationsoptionen für Nodemon abdecken, z.
  • node.js -Watch -Modus (für einfache Anwendungen): Wenn Sie Node.js 18.11 oder höher verwenden, können Sie die experimentelle --watch Option von Node.js verwenden. Diese integrierte Funktion startet die Anwendung immer wieder, wenn sich eine importierte Datei ändert und eine direktere Alternative als Nodemon bietet, ohne dass zusätzliche Module von Drittanbietern erforderlich sind. Es fehlen jedoch die in Nodemon verfügbaren erweiterten Steueroptionen.

Wenn Sie Erfahrung mit PHP -Entwicklung haben, wissen Sie, dass Sie den Code jederzeit aktualisieren und den Browser aktualisieren können, um die Änderungen zu testen. Ein Webserver wie Apache oder NGINX erhält Ihre Anfrage für eine PHP -Datei und übergibt den Inhalt an den PHP -Interpreter, um den Code auszuführen. Der Server gibt die generierte Ausgabe (normalerweise HTML oder JSON) an den Anrufbrowser zurück. Mit anderen Worten, der Code wird jedes Mal dynamisch ausgeführt, wenn er angefordert wird.

node.js verfolgt einen anderen Ansatz für Webanwendungen: Ihre JavaScript -Anwendung ist ein Webserver . Durch Ausführen von node index.js wird die Anwendung initialisiert, alle Module geladen und einen Server starten, der auf eingehende Anforderungen reagieren kann. Das Ändern der Datei wirkt sich nicht auf die Ausgabe der Anwendung aus, da sie bereits im Speicher ausgeführt wird. Um ein Update zu testen, müssen Sie es mit Strg | node.js stoppen und starten Sie Prozesse neu, können beim Debuggen oder während dieser seltenen fokussierten Stunden sehr frustrierend sein, insbesondere wenn viele Änderungen vorgenommen werden. Glücklicherweise gibt es zwei Lösungen: node index.js nodemon

node.js

modus
  1. nodemon
  2. --watch nodemon ist ein Drittanbieter-Node.js-Modul, das vom JavaScript-Experten Remy Sharp entwickelt wurde. (Er sagte, Sie können es nach Belieben aussprechen!)
Sie können Nodemon als globales Modul installieren:

Ersetzen Sie den Knoten dann durch Nodemon im Befehl Development Startup. Betrachten Sie beispielsweise den folgenden Befehl:

Der obige Befehl sieht jetzt so aus:
<code class="language-bash">npm install -g nodemon</code>

Ihre Anwendung beginnt wie gewohnt, startet jedoch automatisch neu, wenn Sie die Quelldatei bearbeiten und speichern. Es ist nicht erforderlich,
<code class="language-bash">node --inspect index.js arg1 arg2</code>
ctrl

|

Hinweis: Nodemon ist eine serverseitige Lösung, die keine Browser-Registerkarten aktualisiert, die Sie auf die Anwendung verweisen. Sie können Tools wie BrowserSync oder Esbuild verwenden, um das Nachladen in Echtzeit zu erreichen.

Um Nodemon Hilfe zu erhalten, geben Sie ein:

<code class="language-bash">npm install -g nodemon</code>

Nodemon -Konfiguration

Nodemon hat einen eigenen Satz von Befehlszeilenparametern, die Vorrang vor Konfigurationen an anderer Stelle haben. Sie können auch Konfigurationen unter:

definieren
  • Teil von package.json in der Datei "nodemonConfig" des Projekts
  • lokale nodemon.json Konfigurationsdatei im Projektverzeichnis und/oder
  • Global nodemon --config <file></file> Konfigurationsdatei verwendet, die beim Ausführen nodemon.json aus der Befehlszeile
  • verwendet wird

Die folgenden Parameter/Einstellungen werden häufig verwendet.

Uhr

Nodemon Monitore JavaScript -Dateien im aktuellen Arbeitsverzeichnis, aber Sie können einen bestimmten Pfad mithilfe von Wildcards in der Befehlszeile explizit festlegen:

<code class="language-bash">node --inspect index.js arg1 arg2</code>

Oder Sie können dies in der Konfigurationsdatei nodemon.json tun:

<code class="language-bash">nodemon --inspect index.js arg1 arg2</code>

ignorieren

In ähnlicher Weise können Sie den Pfad ignorieren:

<code class="language-bash">nodemon --help</code>

Oder Sie können dies in der Konfigurationsdatei nodemon.json tun:

<code class="language-bash">nodemon --watch lib1 config/*.json ./index.js</code>

ext

Sie können bestimmte Dateien nach ihren Dateierweiterungen überwachen. Beispielsweise können Sie JS-, CJS-, MJS-, JSON- und NJK -Vorlagendateien wie folgt überwachen:

<code class="language-json">{
  "watch": [
    "lib1",
    "config/*.json"
  ]
}</code>

Oder Sie können dies in der Konfigurationsdatei nodemon.json tun:

<code class="language-bash">nodemon --ignore lib2 config/build.json ./index.js</code>

Legacywatch

In einigen Umgebungen, wie z. B. Docker -Container, die Dateien von montierten Laufwerken lesen, kann die Dateiüberwachung fehlschlagen. Wechseln Sie zum Legacy -Überwachungsmodus Verwenden Sie die Wahl, um zu überprüfen, ob die Datei geändert wurde. Aus der Befehlszeile:

<code class="language-json">{
  "ignore": [
    "lib2",
    "config/build.json"
  ]
}</code>

oder in der Konfigurationsdatei nodemon.json:

<code class="language-bash">nodemon --ext "js,cjs,mjs,json,njk" ./index.js</code>

Verzögerung

Nodemon wartet auf eine Sekunde, bevor er einen Neustart auslöst. Dies ist nützlich, wenn Sie normalerweise viele Dateien gleichzeitig speichern. Sie können die Verzögerung aus der Befehlszeile ändern - beispielsweise auf fünf Sekunden:

<code class="language-json">{
  "ext": "js,cjs,mjs,json,njk"
}</code>

oder in der Konfigurationsdatei nodemon.json (Beachten Sie, dass diese Konfiguration anstelle von Sekunden Millisekunden verwendet):

<code class="language-bash">nodemon --legacy-watch ./index.js</code>

ausführlich

detailliertes Ausgabeprotokoll anzeigen:

<code class="language-json">{
  "legacyWatch": true
}</code>

oder in der Konfigurationsdatei nodemon.json:

<code class="language-bash">nodemon --delay 5 ./index.js</code>

env

Konfigurationsdatei zum Einstellen einer bestimmten Umgebungsvariablen: nodemon.json

<code class="language-json">{
  "delay": 5000
}</code>
Andere ausführbare

Schließlich können Sie Nodemon verwenden, um Anwendungen in anderen Sprachen zu starten. Zum Beispiel ein Perl -Skript starten, das automatisch neu gestartet wird:

<code class="language-bash">nodemon --verbose ./index.js</code>
Sie können auch eine Liste von ausführbaren Ausführungen unter Verwendung der Erweiterung in der Konfigurationsdatei

definieren: nodemon.json

<code class="language-json">{
  "verbose": true
}</code>
Erweitert Nodemon

Wenn Sie es benötigen, bietet Nodemon fortgeschrittenere Funktionen:

  • Senden Sie ein Signal, damit Sie das Herunterfahren anmutig verarbeiten können
  • kostenloses Ereignis, wenn der Status von Nodemon
  • ändert
  • Übertragen Sie die Ausgangspipeline auf andere Prozesse
  • laden Nodemon als Modul in Ihr Projekt
  • generieren Nodemon als Kinderprozess und
  • Verwenden Sie Nodemon in Schlupf- und Grunz -Workflows.

node.js -Watch -Modus

--watch Wenn Sie komplexe Anforderungen an die Anwendungsstart haben, ist Nodemon immer noch das bevorzugte Tool. Wenn Sie jedoch Node.JS 18.11 (Ende 2022 freigegeben) oder später verwenden, bietet es eine experimentelle

Option, um Ihre Anwendung neu zu starten, ohne Nodemon oder andere Module von Drittanbietern zu installieren. Zum Beispiel für den Startbefehl:
<code class="language-bash">npm install -g nodemon</code>

Dies wird:
<code class="language-bash">node --inspect index.js arg1 arg2</code>

node.js wird neu gestartet, wenn sich importierte Datei ändert. Es gibt keine anderen Steuerungsoptionen. Wenn es also nicht zu Ihrem Projekt passt, sollten Sie stattdessen Nodemon verwenden.

Zusammenfassung

Wenn Ihre Erfahrung wächst, werden Sie es zunehmend nützlicher, Node.js -Anwendungen automatisch neu zu starten. Bitte betrachten Sie dies als Teil des Entwicklungsworkflows in allen Projekten.

Das obige ist der detaillierte Inhalt vonVerwenden von Nodemon und beobachten Sie in node.js nach Live -Neustarts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn