gulp-nodemon - 在文件更改后重新启动nodejs - 错误:listen EADDRINUSE events.js:85

时间:2015-06-10 14:48:42

标签: javascript node.js gulp gulp-watch

我正在运行nodejs 0.12.3 - gulp 3.10.8和Gulp-nodemon 2.0.3。 gulpfile.js:

gulp.task('serve', ['build'], function() {
  gulp.start('fb-flo');
  nodemon({
    script:   paths.server,
    env:      { 'NODE_ENV': 'development' },
    // env: { 'NODE_ENV': 'production' },
    execMap:  {
      'js': 'node_modules/babel/bin/babel-node --stage 1' //ES7 cote server
    },
    delay:    '0ms',
    watch:    ['src/shared/', 'src/server/'],
    ignore:   ['src/shared/components'],
    tasks: function (changedFiles) {
      var tasks = [];
      changedFiles.forEach(function (file) {
        if (path.extname(file) === '.jsx' && !~tasks.indexOf('bundlejs')) tasks.push('bundlejs');
        if (path.extname(file) === '.less' && !~tasks.indexOf('compileless')) tasks.push('compileless');
      });
      return tasks;
    }
  }).on('exit', function(){
    //console.log(process._getActiveHandles());
    //console.log(process._getActiveRequests());
    process.once('SIGUSR2', function () {
      console.log('exit!...........');
      gracefulShutdown(function () {
        process.kill(process.pid, 'SIGUSR2');
      });
    });
  });
});

我的服务器启动良好,但是当我的服务器在src / shared或src / server中更改js文件后重新启动时,我有错误:

[14:22:35] Finished 'default' after 4.4 μs
[14:22:35] [nodemon] exiting
events.js:85
  throw er; // Unhandled 'error' event
        ^
Error: listen EADDRINUSE

我明白这意味着地址在使用中是lareday, 所以你可以看到我在通过SIGUSR2信号退出时试图清理,但是console.log永远不会被调用... 任何帮助我都会感激!感谢

0 个答案:

没有答案