我有以下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的代码行并离开路由,那么它可以正常工作。所以对我来说听起来像是在试图找到" /你好"在我的/客户端目录下,但如果我理解正确,它的工作方式是如果在该目录中找不到该文件,服务器应该尝试使用其他路由。
思想?
答案 0 :(得分:2)
/hello
路线中存在问题。您使用了res.set("hello team!");
,它用于为响应设置HTTP标头,而不是用于发送响应。
而是使用res.send('hello team!');
向客户发送回复。