2015-01-10 5 views
6

In meinem aktuellen Workflow, nachdem ich Änderungen an den Controllern in einem Sails-Projekt vorgenommen habe, muss ich die Sails neu starten, um die Änderungen zu übernehmen. Gibt es einen Weg dahin, damit sie ohne Neustart aufgenommen werden können? (Ich verstehe, dass Segel Routen für die Aktionen generieren muss, die ich in Controllern während eines Starts (unter anderem) definieren, aber ich würde gerne wissen, was ich vermisse)Muss ich Sails jedes Mal neu starten/heben, wenn ich Änderungen an einem Controller vornahm?

Antwort

5

Ab Sails v0.11, können Sie die autoreload Haken verwenden Segel zu bekommen, um Autonachlademode (ohne dass ein Neustart erforderlich ist), wenn ein Controller, Modell oder Dienst wird aktualisiert.

Dies hat den Vorteil, dass Sie das Verhalten in Ihrer App erstellen und es wie gewohnt mit sails lift starten können, anstatt sich daran zu erinnern, es nicht auf eine Standard-Art zu starten.

4

Es scheint, dass Sie forever.js verwenden können Dies erreichen. Es gibt eine sehr gute Erklärung gibt:

https://coderwall.com/p/njcr7w/sails-js-sick-of-restarting-your-server

aber im Grunde (und in Fall von Link unten erhalten) hier ist eine Zusammenfassung dessen, was es heißt:

[sudo] npm install forever -g 

cd /your/project/folder/ 

eine Datei .foreverignore

**/.tmp/** 
**/views/** 
**/assets/** 

Starten Sie Ihre App mit

forever -w start app.js # -w to watch for file changes! 

zu stoppen:

forever stop app.js 
1

Sie können als auch, nodemon in Entwicklung verwenden. Es benötigt keine Konfiguration und es sucht nach Änderungen in allen Dateien Ihres Projekts und startet automatisch Ihre Anwendung neu.

sudo npm install nodemon -g 

Um die Segel-Server mit nodemon laufen:

nodemon app.js 
Verwandte Themen