Odpowiedzi:
zawsze moduł ma koncepcję wielu serwerach node.js i można rozpocząć, restart, stop oraz lista serwerów aktualnie uruchomione. Może również obserwować zmiany plików i restartować węzeł w razie potrzeby.
Zainstaluj go, jeśli jeszcze go nie masz:
npm install forever -g
Po zainstalowaniu, wywołaj foreverpolecenie: użyj -wflagi, aby obejrzeć plik pod kątem zmian:
forever -w ./my-script.js
Dodatkowo możesz obserwować katalog i ignorować wzorce:
forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
forever -c babel-node -w --watchDirectory ./server ./server/index.js ale niestety wydaje się, że wysyła się na zawsze w tailspin i zbyt często restartuje serwer, co powoduje błędy portu już w użyciu ... czy jest jakiś sposób dodać pauzę po ponownym uruchomieniu?
-tlub killTree, myślę, że węzeł babel był zabijany, ale nie serwer Express, który się pojawił.
Dobrym rozwiązaniem jest Node-supervisor, a Node.js Restart on File Change to dobry artykuł o tym, jak go używać, zazwyczaj:
npm install supervisor -g
a po migracji do katalogu głównego aplikacji użyj następującego
supervisor app.js
server.jsponieważ ciągle się restartował, było to spowodowane tym, że mój serwer budował klienta podczas rozruchu, a tym samym zmieniał pliki. supervisor --watch server.js server.jsrozwiązałem to.
Powinieneś spojrzeć na coś takiego jak nodemon .
Nodemon będzie obserwował pliki w katalogu, w którym został uruchomiony nodemon, a jeśli się zmienią, automatycznie zrestartuje aplikację węzła.
Przykład:
nodemon ./server.js localhost 8080
lub po prostu
nodemon server
Aby ułatwić to zadanie, dostępne są różne pakiety NPM.
Dla rozwoju
Do produkcji (z rozszerzonymi funkcjami, takimi jak klastrowanie, zdalne wdrażanie itp.)
npm install -g pm2npm install -g strongloopPorównanie Forever, pm2 i StrongLoop można znaleźć na stronie internetowej StrongLoop .
Możesz też spróbować nodemon
Aby zainstalować Nodemon
npm install -g nodemon
Aby użyć Nodemon
Zwykle uruchamiamy program węzłowy taki jak:
node server.js
Ale tutaj musisz zrobić:
nodemon server.js
node-dev
node-dev jest świetną alternatywą zarówno dla nodemona, jak i przełożonego dla programistów, którzy lubią otrzymywać powiadomienia o growlu (lub libnotify) na swoim pulpicie za każdym razem, gdy serwer uruchamia się ponownie lub gdy występuje błąd lub zmiana w pliku .
Instalacja:
npm install -g node-dev
Użyj node-dev zamiast node:
node-dev app.js
Powiadomienie o zmianie pliku, aby serwer był uruchamiany automatycznie
konsola się
runi jak porównuje się z istniejącymi alternatywami. Samo zrzucenie innej opcji tylko pogłębia paradoks wyboru. (Na szczęście runnie był aktualizowany od 2015 roku, więc teraz nie jest to zbyt duży wybór).
Wykonaj kroki:
npm install --save-dev nodemon
Dodaj następujące dwa wiersze do sekcji „script” pliku package.json:
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
jak pokazano niżej:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
}
npm run devstarthttps://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website