可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
  Currently is seems that for any code change in a sails.js app you have to manually stop the sails server and run sails lift again before you can see the changes.
  I was wondering if there is any way when running in development mode to automatically restart the sails server when it detects a code change?
      回答1:
 You have to use a watcher like forever, nodemon, or something else...
  Example
  Install forever by running:
  sudo npm install -g forever
  Run it:
  forever -w start app.js
  
To avoid infinite restart because Sails writes into .tmp folder, you can create a .foreverignore file into your project directory and put this content inside:
  **/.tmp/** **/views/** **/assets/** 
  See the issue on GitHub: Forever restarting because of /.tmp.
      回答2:
 You can use sails-hook-autoreload
     Just lift your app as normal, and when you add / change / remove a model or controller file, all controllers and models will be reloaded without having to lower / relift the app.
 
      回答3:
 For example with nodemon to watch api and config directories
  .nodemonignore contents 
  views/* .tmp/* .git/* 
  Run the command after creating .nodemonignore
  $> nodemon -w api -w config 
  Example for supervisor to ignore 3 directories
  $> supervisor -i .tmp,.git,views app.js 
      回答4:
 If you're using Sails 0.11, you can install this hook to automatically reload when you change models or controllers (views do not require reloading):
  npm install sails-hook-autoreload 
  https://www.npmjs.com/package/sails-hook-autoreload
      回答5:
 I had the same problem and I have solved it using grunt-watch and grunt-forever with sails@beta tasks. The result is 4 grunt commands:
  UPDATE: tasks are available in the current sails version (it's no longer beta :>)
  - start Starts the server
  - stop Stops the server
  - restart Restarts the server
  - startWatch Starts the server and waits for changes to restart it (using grunt-watch). This is probably your solution, but the other commands are also useful.
  
Here's the code - I'm using sails@beta, which includes a tasks directory, I don't know if this is included in previous versions:
  First of all you have to install forever in your sails directory: 
  npm install grunt-forever --save-dev 
  tasks/config/forever.js Configure forever task.
  module.exports = function(grunt) {   grunt.config.set('forever', {     server: {        options: {           index: 'app.js',           logDir: 'logs'        }     }   });    grunt.loadNpmTasks('grunt-forever'); }; 
  tasks/config/watch.js (edit) Edit watch task in order to add a new rule
  // api and assets default rules , server: {     // Server files to watch:     files: [         'api/**/*',         'config/**/*'     ],      // Restart server     tasks: ['forever:server:restart'] } 
  tasks/register/watchForever.js Register your custom tasks (this file can be renamed to whatever you want)
  module.exports = function(grunt) { // Starts server   grunt.registerTask('start', [     'compileAssets',     'linkAssetsBuild',     'clean:build',     'copy:build',     'forever:server:start'   ]);    // Restarts the server (if necessary) and waits for changes   grunt.registerTask('startWatch', [     'restart',     'watch:server'   ]);    // Restarts server   grunt.registerTask('restart', [     'forever:server:restart'   ]);    // Stops server   grunt.registerTask('stop', [     'forever:server:stop'  ]); }; 
  
With this you should be able to use 
      grunt startWatch 
  and make your server wait for changes to be restarted :>
  Hope this helped!
      回答6:
 install nodemon globally or locally.
  npm install nodemon --save npm install nodemon -g 
  install sails locally in you project as follows
  npm install sails --save 
  then change package.json 
  from
  "scripts": {   "debug": "node debug app.js",   "start": "node app.js" }, 
  to
  "scripts": {    "debug": "node debug app.js",    "start": "node app.js",    "dev": "export NODE_ENV=development && nodemon --ignore 'tmp/*' app.js && exit 0" }, 
  then 
  npm run dev 
      回答7:
 Better you use 
  npm install -g nodemon 
  i am using this, and it will helps to improve my developing speed. no need to edit any files for this one!.
  after installation 
  nodemon app.js 
      回答8:
 For anyone coming to this question now, it seems that this is no longer necessary - an application launched with sails lift will have a grunt watch task running, and code changes will be visible without a restart.
  I didn't realise this was happening at first because there's nothing to indicate what's happening in the console, but it does seem to work without a restart (I'm using Sails 0.11)