2016-11-04 7 views

답변

6

Express는 HTTP 서버의 요청 처리기입니다. 실행할 HTTP 서버가 필요합니다. 완전히 여기에 무슨 일이 일어나고 있는지 이해 단지, 그래서

import Express from 'express'; 
const app = new Express(); 
app.listen(80); 

그러나 : 당신은 하나를 직접 만든 다음 그 자체가 HTTP 서버의 만들 수 있습니다 또는 익스프레스에 대한 요청 핸들러로 app을 통과 할 수 있습니다. 당신이 app.listen()를 사용하는 경우가하고있는 모든 (the Express code에서와 같이)이 있습니다 :

단지 자신의 바닐라 HTTP 서버를 생성 한 다음에 .listen()를 호출
app.listen = function listen() { 
    var server = http.createServer(this); 
    return server.listen.apply(server, arguments); 
}; 

.


그냥 일반 바닐라 HTTP 서버를 사용하는 경우가 더 이익이 자신을 위해 만드는 정말 없다, 그래서 Express는 당신을 위해 그것을 만들 수있는 당신에게 몇 가지 코드를 저장합니다. 일부 특수 옵션 또는 구성을 사용하여 서버를 만들려는 경우 또는 HTTPS 서버를 만들려는 경우 익스프레스 요청 처리기를 사용하여 직접 구성한 다음 익스프레스 요청 처리기로 구성해야합니다. Express는 일반 바닐라 http 서버를 생성하기 때문에 직접 만들어달라고 부탁하십시오. 따라서, 특별한 옵션으로 생성해야하는 경우에는 직접 만드십시오.

+0

별도의 http.Server 생성은 매우 광범위합니다 (예 : ['socket.io' 예제 코드] (http://socket.io/docs/#using-with-express-3/4)도 마찬가지입니다. 나는 많은 사람들이 그것을보고 그것이 어떻게 이루어져야하는지 생각한다고 생각한다. – robertklep

+0

@robertklep - 직접 http 서버를 수동으로 생성해도 문제가 없습니다. Express는 단지 당신을 위해 그것을 할 수있는 지름길을 제공합니다. – jfriend00

+0

감사합니다. 따라서이 경우 명시 적으로 http-server를 작성하는 것이 중복됩니까? – Paulos3000