NodeJS close previous server port before creating new server
在这里,我正在做一些开发和测试,所以每次我更改某些内容时,我都要退出服务器,进行更改并启动新的服务器。
第一次,当我运行命令node server.js文件时,它的工作方式就像一个符咒,但当我退出它并进行一些更改并重新启动时,它在控制台中给出了这个错误:
1
| throw er; // Unhandled 'error' event |
我搜索了一些关于它的信息,发现当那个端口已经被使用时,这个错误就会出现,当我更改了端口名,然后启动它时,它就会正常工作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| var express = require("express");
var app = express();
var port = 3702;
app.get("/", function(req, res){
console.log(req);
res.send("It works!");
});
app.on('error', function(err) {
console.log(err);
});
app.listen(port);
console.log("Listening on port" + port); |
- 听起来您的服务器进程实际上没有退出。如何停止服务器进程以及在哪个平台上运行它?
- 10个小时过去了,你不能在评论中回答一个简单的问题?我们试图帮助你,但当你没有反应的时候却做不到。如前所述,您的问题中没有足够的信息来了解您的问题。正确终止的nodejs应用程序不会保持端口被占用。
- 问题由mohsen的答案stackoverflow.com/questions/5266152/how-to-exit-in-node-js解决
- 你为什么没有回答任何问题?这里的第一条评论是询问您如何退出程序。而且,因为你没有回答这里提出的任何问题,这里没有人能给你答案。如果你只是在这里回答的话,我可以在几分钟内回答你的问题。这就是这个论坛最有效的方式。你不应该消失而保持沉默。
- 我周末不工作:P
- 那么周末不要问问题。只有当你能在接下来的30-60分钟内做出回应来澄清问题,然后在几个小时后再回来查看时,你才应该在这里提问。这是对网站的一种伤害,如果你没有回应,你的问题只会被否决和/或关闭。而且,如果你的问题在发帖的第一个小时内没有被澄清,你将错过获得答案的绝大部分机会(大多数人都是在这个时候看到的)。
- 我在向一个显然不理解这个社区的人解释这个社区是如何运作的。我们在这里花时间帮助那些值得帮助的人,以及那些尊重帮助过程的人。显然,你不想成为这个社区的一员。
为您对服务器所做的每一次更改更改端口号并启动一个新进程不是一个好的实践。从您的措辞来看,这个问题似乎是为了开发目的而这样做,以便在进行更改时进行测试。有一些工具,比如nodemon,可以帮助你做到这一点。他们将监视项目中的文件,任何更改都将触发同一端口中服务器的重新启动。
使用nodemon和通过npm:npm install -g nodemon安装一样简单,然后使用nodemon而不是node启动应用程序。
- 好吧,不是100%的答案,但是的,它也能起作用。)