expressJS服务器returing Object#<incomingmessage>没有方法'send'以及如何提供html文件</incomingmessage>

时间:2014-11-01 10:48:40

标签: html node.js express server

我有这些html页面 signIn,SignUp,Index 。 我想制作快递服务器 代码

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

app.get('/',function(request , response){
    request.send("demo page");

})

  var server =app.listen(3010, function(){
    console.log("server running on port "+ server.address().port);
})

绑定浏览器时

  

TypeError:对象#没有方法&#39;发送&#39;

为什么它不起作用,我改变了端口但是无效。 并使用ExpressJS服务我的上述html文件。

1 个答案:

答案 0 :(得分:1)

您只需要替换

request.send("demo page");

response.send("demo page");

让它发挥作用。

参考 http://expressjs.com/4x/api.html#res.send

要使其在root上提供index.html文件,请使用以下代码:

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/index.html');
});

如果要提供所有静态文件,请使用以下命令:

app.use(express.static(__dirname));

但是这样做你应该知道每个人都可以读取根目录中的所有文件。要解决此问题,请将所有html,js,css文件放到/public目录中,然后重写上一行:

app.use(express.static(__dirname + '/public'));

因此,在请求http://yoursite.com/test.html时,您将获得public/test.html个文件。