2011-08-31 4 views
25

그래서 나는 같은 것을 할 싶습니다Node.js : Express의 모든 HTTP 요청에 대해 어떻게해야합니까?

app.On_All_Incomeing_Request(function(req, res){ 
    console.log('request received from a client.'); 
}); 

현재 app.all() 경로를 필요로를, 내가 예를 들어이 /에 대해 주면 내가 홈페이지에있을 때 정말 모두가 아니다, 그래서 그것은 단지, 작동 ..

일반 node.js에서 우리는 http 서버를 만든 후, 그리고 페이지 라우팅을하기 전에 모든 것을 작성하는 것처럼 간단합니다.

이렇게 표현하는 방법과 그것을 수행하는 가장 좋은 방법은 무엇입니까?

답변

39

익스프레스는 Connect 미들웨어를 기반으로합니다.

Express의 라우팅 기능은 응용 프로그램의 router에서 제공하며 응용 프로그램에 자신의 미들웨어를 자유롭게 추가 할 수 있습니다.

var app = express.createServer(); 

// Your own super cool function 
var logger = function(req, res, next) { 
    console.log("GOT REQUEST !"); 
    next(); // Passing the request to the next handler in the stack. 
} 

app.configure(function(){ 
    app.use(logger); // Here you add your logger to the stack. 
    app.use(app.router); // The Express routes handler. 
}); 

app.get('/', function(req, res){ 
    res.send('Hello World'); 
}); 

app.listen(3000); 

간단합니다.

:

+25

또는'app.all (PS 당신은 당신이 연결에 의해 제공되는 logger 사용을 고려할 수있는 몇 가지 로깅하려는 경우) ("*"를, CB)'헤이, 즉 매우했다 – Raynos

+0

마찬가지로 잘 작동합니다 쉬운. 잠시 동안 node.js와 함께 익스프레스를 사용하고 있지만 이것에 대해서는 결코 생각하지 못했습니다 .--) 감사합니다. – Adam

+0

+1 나는 이것에 대해 몰랐다. 그것은 더 많은 Express-ish입니다. –

관련 문제