Heim > Web-Frontend > Front-End-Fragen und Antworten > Muss nodejs jedes Mal gestartet werden?

Muss nodejs jedes Mal gestartet werden?

PHPz
Freigeben: 2023-04-05 10:04:44
Original
805 Leute haben es durchsucht

Node.js ist eine sehr beliebte serverseitige JavaScript-Ausführungsumgebung, die in der Webentwicklung, bei Befehlszeilentools und anderen Bereichen weit verbreitet ist. Viele Anfänger haben jedoch beim Erlernen von Node.js eine Frage: Müssen sie jedes Mal neu starten, wenn sie eine Node.js-Anwendung ausführen?

Die Antwort ist nicht unbedingt. Beantworten wir diese Frage im Folgenden ausführlich.

Schauen wir uns zunächst die grundlegende Funktionsweise von Node.js an. Wenn wir eine Anwendung mit Node.js schreiben, erstellen wir normalerweise eine JavaScript-Datei und führen sie dann mit dem Knotenbefehl in der Befehlszeile aus. Wir können beispielsweise eine Datei namens app.js erstellen und dann Folgendes in die Befehlszeile eingeben: Dieser Befehl startet die Node.js-Laufzeitumgebung und lässt sie unsere Anwendung ausführen. Die Anwendung läuft weiter, bis wir sie mit dem Befehl Strg+C beenden.

Wenn wir also die Datei app.js ändern, müssen wir dann Node.js neu starten, damit die Änderung wirksam wird? Die Antwort ist nicht unbedingt. Wenn wir einige statische Konfigurationsparameter oder Daten ändern und keine Änderung der Programmlogik erfordern, können wir einige Tools verwenden, um Hot-Updates durchzuführen, ohne Node.js neu starten zu müssen. Sie können beispielsweise das Tool nodemon verwenden, um Dateiänderungen zu überwachen und Anwendungen automatisch neu zu starten, wenn sich Dateien ändern. Die spezifische Betriebsmethode ist wie folgt:

1. Zuerst müssen wir Nodemon installieren. Geben Sie ein:

node app.js
Nach dem Login kopieren

2. Erstellen Sie dann im Stammverzeichnis unserer Anwendung eine Konfigurationsdatei namens nodemon.json mit folgendem Inhalt:

npm install -g nodemon
Nach dem Login kopieren

Dabei gibt das Überwachungsfeld den zu überwachenden Ordner an, das Ext-Feld gibt an Das zu überwachende Dateisuffix, das Ignorierfeld gibt den zu ignorierenden Ordner an, das Feld execMap gibt den auszuführenden Befehl an, der Knotenbefehl wird hier angegeben und der Parameter --inspect wird hinzugefügt, um die Debugging-Funktion von Node.js zu aktivieren.

3. Geben Sie abschließend in die Befehlszeile ein:

{
  "watch": ["src"],
  "ext": "js json",
  "ignore": ["node_modules"],
  "execMap": {
    "js": "node --inspect=0.0.0.0:9229"
  }
}
Nach dem Login kopieren

Dieser Befehl startet das Nodemon-Tool und lässt es unsere Anwendung überwachen. Wenn wir eine Datei ändern, startet Nodemon die Anwendung automatisch neu.

In den meisten Fällen ändern wir jedoch Programmlogik und nicht Konfigurationsparameter oder Daten. In diesem Fall müssen wir Node.js neu starten, damit die Änderungen wirksam werden. Dies liegt daran, dass Node.js nach dem Start unsere Anwendung in Maschinencode kompiliert und zur Ausführung in den Speicher lädt. Wenn wir die Programmlogik ändern, müssen wir den Maschinencode neu kompilieren und laden, damit die neue Logik wirksam wird.

Zusammenfassend hängt es davon ab, was wir ändern, ob Node.js jedes Mal gestartet werden muss. Wenn wir statische Konfigurationsparameter oder Daten ändern, können wir Tools verwenden, um Hot-Updates zu implementieren. Wenn wir die Programmlogik ändern, müssen wir Node.js neu starten.

Ich hoffe, dieser Artikel kann Ihre Fragen beantworten und Ihnen ein besseres Verständnis der Funktionsweise von Node.js vermitteln.

Das obige ist der detaillierte Inhalt vonMuss nodejs jedes Mal gestartet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage