gulp nodemon + node =错误:听EADDRINUSE

时间:2014-10-16 12:51:49

标签: node.js gulp nodemon

我知道当节点尝试将自身绑定到已经在使用的端口时,会发生EADDRINUSE。

问题是,当我的代码发生更改时,这一切都与gulp nodemon结合使用。自从我将代码从bin / www移到我的app.js文件中后,我感觉自己得到了这个错误。

bin / www看起来像这样:

#!/usr/bin/env node
var app = require('../app');

gulp.js使用以下代码重新启动我的服务器:

// nodemon task
gulp.task('nodemon', function(){
  nodemon({ script: 'bin/www', ext: 'html js' })
  .on('change', ['styles-website', 'watch', 'test'])
  .on('restart', function(){
    console.log('restarted nodemon!')
  })
});

在我的app.js文件中我有这个启动服务器:

var server = app.listen(app.get('port'), function() {
  console.log("Express server started!");
});

这一切在我第一次开始吞咽时工作正常,但现在当gulp重新启动时我得到错误:

Error: listen EADDRINUSE

我有一种感觉这与将代码移出bin / www(必须让socket.io在我的app var上工作)有关。

有没有人知道如何解决这个问题?

更新:使用" nodemon bin / www"在gulp之外,一切正常

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,这似乎可以解决它:

.pipe(livereload({ auto: false }))

auto:false选项可防止重新启动livereload服务器的另一个实例