节点js app在路由时卡住了

时间:2016-06-12 07:27:43

标签: node.js

我有以下server.js文件

var express = require("express"),
    http = require("http"),
    app;

app = express();

//set up a static file directory to use for detaulf routing
app.use(express.static(__dirname+"/client"));

http.createServer(app).listen(3000);

app.get("/hello",function(req,res){
    res.set("hello team!");
});

在/ client目录中,我有一个名为" index.html"的文件,因此当我转到localhost:3000 / index.html时,会显示此文件,这正是我所期望的。

但是如果我转到localhost:3000 / hello页面永远不会加载并停留在"等待localhost"直到它超时"没有收到数据"错误信息。

如果删除/ client的代码行并离开路由,那么它可以正常工作。所以对我来说听起来像是在试图找到" /你好"在我的/客户端目录下,但如果我理解正确,它的工作方式是如果在该目录中找不到该文件,服务器应该尝试使用其他路由。

思想?

1 个答案:

答案 0 :(得分:2)

/hello路线中存在问题。您使用了res.set("hello team!");,它用于为响应设置HTTP标头,而不是用于发送响应。

而是使用res.send('hello team!');向客户发送回复。

参考:http://expressjs.com/en/api.html#res.set