Antworten:
Das Modul forever ist ein Konzept von mehreren node.js-Servern und kann aktuell ausgeführte Server starten, neu starten, stoppen und auflisten. Es kann auch nach Änderungen der Dateien suchen und den Knoten nach Bedarf neu starten.
Installieren Sie es, wenn Sie es noch nicht haben:
npm install forever -g
Rufen Sie nach der Installation den folgenden forever
Befehl auf: Verwenden Sie das -w
Flag, um die Datei auf Änderungen zu überwachen:
forever -w ./my-script.js
Darüber hinaus können Sie das Verzeichnis überwachen und Muster ignorieren:
forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
forever -c babel-node -w --watchDirectory ./server ./server/index.js
aber leider scheint er für immer in einen Tailspin zu senden, und der Server wird zu oft neu gestartet, was dazu führt, dass Port-Fehler bereits verwendet werden Pause nach einem Neustart hinzufügen?
-t
oder killTree
Option, die erforderlich war. Ich denke, Babel-Node wurde getötet, aber nicht der Express-Server, den es erzeugt hat.
Eine gute Option ist Node-Supervisor und Node.js Restart on File Change ist ein guter Artikel zur Verwendung, normalerweise:
npm install supervisor -g
Verwenden Sie nach der Migration zum Stammverzeichnis Ihrer Anwendung Folgendes
supervisor app.js
server.js
da er ständig neu gestartet wurde. Dies lag daran, dass mein Server den Client beim Booten aufbaute und somit die Dateien änderte. supervisor --watch server.js server.js
Ich habe es gelöst.
Sie sollten sich so etwas wie Nodemon ansehen .
Nodemon überwacht die Dateien in dem Verzeichnis, in dem nodemon gestartet wurde. Wenn sie sich ändern, wird Ihre Knotenanwendung automatisch neu gestartet.
Beispiel:
nodemon ./server.js localhost 8080
oder einfach
nodemon server
Zur Erleichterung dieser Aufgabe stehen verschiedene NPM-Pakete zur Verfügung.
Zur Entwicklung
Für die Produktion (mit erweiterten Funktionen wie Clustering, Remote-Bereitstellung usw.)
npm install -g pm2
npm install -g strongloop
Ein Vergleich zwischen Forever, pm2 und StrongLoop finden Sie auf der Website von StrongLoop .
Sie können auch nodemon ausprobieren
So installieren Sie Nodemon
npm install -g nodemon
So verwenden Sie Nodemon
Normalerweise starten wir das Knotenprogramm wie folgt:
node server.js
Aber hier muss man gerne machen:
nodemon server.js
Node-Dev
Node-Dev ist eine großartige Alternative zu Nodemon und Supervisor für Entwickler, die bei jedem Neustart des Servers oder bei einem Fehler oder einer Änderung in der Datei Knurr- (oder Libnotify-) Benachrichtigungen auf ihrem Desktop erhalten möchten .
Installation:
npm install -g node-dev
Verwenden Sie node-dev anstelle von node:
node-dev app.js
Benachrichtigung beim Ändern der Datei, damit der Server automatisch gestartet wird
Konsole ausstellen
run
und wie sie im Vergleich zu vorhandenen Alternativen ist. Nur eine andere Option zu entleeren, trägt nur zum Paradox der Wahl bei. (Glücklicherweise run
wurde es seit 2015 nicht mehr aktualisiert, daher ist es jetzt keine große Option.)
Folge den Schritten:
npm install --save-dev nodemon
Fügen Sie die folgenden zwei Zeilen zum Abschnitt "script" von package.json hinzu:
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
Wie nachfolgend dargestellt:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
}
npm run devstart
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website