gpt4 book ai didi

node.js - gulp nodemon + Node = 错误 : listen EADDRINUSE

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:23 26 4
gpt4 key购买 nike

我知道当 Node 尝试将自身绑定(bind)到已在使用的端口时会发生 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 时一切正常,但现在当 gulp 重新启动时我收到错误:

Error: listen EADDRINUSE

我有一种感觉,这与将代码移出 bin/www 有关(需要让 socket.io 在我的应用程序变量上工作)

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

更新:当在 gulp 之外使用“nodemon bin/www”时,一切正常

最佳答案

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

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

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

关于node.js - gulp nodemon + Node = 错误 : listen EADDRINUSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com