Heim >Web-Frontend >js-Tutorial >Verwenden von Nodemon und beobachten Sie in node.js nach Live -Neustarts
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
--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--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!) 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 hat einen eigenen Satz von Befehlszeilenparametern, die Vorrang vor Konfigurationen an anderer Stelle haben. Sie können auch Konfigurationen unter:
definierenpackage.json
in der Datei "nodemonConfig"
des Projekts nodemon.json
Konfigurationsdatei im Projektverzeichnis und/oder nodemon --config <file></file>
Konfigurationsdatei verwendet, die beim Ausführen nodemon.json
aus der Befehlszeile Die folgenden Parameter/Einstellungen werden häufig verwendet.
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>
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>
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>
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>
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>
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>
Konfigurationsdatei zum Einstellen einer bestimmten Umgebungsvariablen: nodemon.json
<code class="language-json">{ "delay": 5000 }</code>Andere ausführbare
<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
--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
<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.
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!