2014-11-01 5 views
0

이 html 페이지가 있습니다 signIn, SignUp, 인덱스. 가 작동하지 않는 이유 expressJS 서버 returing 객체 # <IncomingMessage>에는 'send'메소드가 없으며 html 파일을 제공하는 방법이 있습니다.

TypeError: Object # has no method 'send'

브라우저

에 매는 때 나는 급행 서버를 코드

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); 
}) 

을 만들고 싶어, 내가 포트하지만 무효를 변경했습니다. 또한 ExpressJS를 사용하여 위의 html 파일을 서버에 배치하십시오.

답변

1

당신은 그냥 작동하도록

response.send("demo page"); 

request.send("demo page"); 

를 교체해야합니다.

참조 :

app.use(express.static(__dirname)); 
: 모든 정적 파일이를 사용하여 제공하려는 경우

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

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

은 루트 사용에이 코드를 index.html 파일을 제공 만들려면

하지만 이렇게하면 e verybody는 루트 디렉토리 내의 모든 파일에 대한 읽기 액세스 권한을 갖습니다. 이 /public 디렉토리에 모든 HTML, JS, CSS 파일을 넣어 고정하고,이 같은 이전 행을 재 작성하려면

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

따라서, http://yoursite.com/test.html를 요청하면 public/test.html 파일을 얻을 것이다.

+0

감사합니다. html 파일을 제공하는 방법을 알려 주시기 바랍니다. 나는 루트에 서버 인덱스 파일을 원합니다. –

+0

@MohammadFaizanKhan 제 질문을 편집했습니다. 변경 사항을 확인하십시오. – Curious

+0

@MohammadFaizanKhan 나는 내 대답을 한 번 더 편집했다. 행운을 빕니다! – Curious