节点服务器.js无响应

6

我对Node还比较陌生,尝试着为我的网站创建一个简单的服务器。但是当我在命令提示符中输入 node server.js 后,没有任何反应。

var http = require("http");  
http.createServer(function(request, response) {
       response.writeHead(200, {"Content-Type": "text/plain"});
       response.write("It's alive!");
       response.end();
}).listen(3000);

当我尝试运行server.js文件时,这是我看到的内容:

enter image description here

我相当确定我的代码没问题,还有其他可能出错的地方吗?


你等了多久?在我看来,那里似乎没有错误。 - Coding Enthusiast
5个回答

13

服务器正常工作。您需要从浏览器中访问http://localhost:3000/以查看预期的输出(“It's alive!”)。

要向控制台输出消息,请使用console.log()


3
另外,在 listen() 调用后添加 console.log('server listening on port 3000') 是一个很好的方式,以提醒自己程序已经运行并且正常工作。 - greim
我做了这件事,但甚至在控制台上都看不到任何东西。我处于同样的情况下。 - Temi 'Topsy' Bello

0
你只需要访问URL http://localhost:3000
在执行"node server.js"命令后,服务器已经启动,并且由于代码中存在以下行:response.write("It's alive!");,因此你将获得输出 - "It's alive!"。

0
您展示的控制台输出似乎符合您的代码。
您是否打开了Web浏览器并尝试打开http://localhost:3000
如果您想查看一些控制台输出以确认服务器已启动,请尝试在您的server.js文件末尾添加以下内容:
console.log('Server running at http://localhost:3000');

-1
第一次启动节点服务器时犯了一个非常小的错误,没有将"response.end"作为函数调用,导致服务器无法响应,并且加载时间非常长。应该是response.end()。
const server = http.createServer(function(request, response){
response.writeHead(200,{'Content-Type': 'text/html'})
response.write('Hello Node')
response.end 
})

这并没有真正回答问题。如果你有不同的问题,可以点击提问来进行提问。如果你想要在这个问题有新的回答时得到通知,你可以关注这个问题。一旦你拥有足够的声望,你也可以添加赏金来吸引更多人关注这个问题。- 来自审核 - Luca Kiebel
问题中的代码显示OP确实调用了response.end() - Quentin

-1

将端口更改为5000,然后转到http://localhost:5000/。可能还有其他服务在localhost:3000上运行。


1
如果端口3000上已经运行了某些东西,那么当 OP 尝试运行它时,服务器会输出错误消息并退出。我们可以看到这种情况并没有发生。 - Quentin
请注意,早在2015年就有人写了一个答案,而该OP已经接受了它作为正确答案。 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接