node.js middleware 사용
Middleware란 Client의 요청이 들어왔을 때 매번 수행되어야할 행위들을 말합니다.
미들웨어를 전부통과하고나서 적절한 response를 client에게 주도록 설계합니다.
//Express 기본 모듈 불러오기.
var express = require('express');
var http = require('http');
//Express 객체 생성
var app = express();
//기본포트를 app 객체에 속성으로 설정
app.set('port', process.env.PORT || 3000);
//첫번째미들웨어 등록
app.use(function(req, res, next){
console.log('첫 번째 미들웨어에서 요청을 처리함.');
req.user ='jinss';
next();
});
//두번째 미들웨어 등록
app.use('/', function(req, res, next){
console.log('두 번째 미들웨어에서 요청을 처리함.');
res.writeHead('200', {'Content-Type': 'text/html; charset=utf8'});
res.end('<h1>Express 서버에서' +req.user+'가 응답한 결과</h1>');
});
//Express 서버 시작
http.createServer(app).listen(app.get('port'), function(){
console.log('Express 서버를 시작했습니다. : '+ app.get('port'));
});
[서버실행 화면]
[웹브라우저 접속시 웹브라우저 화면]
[서버 콘솔 응답]
middleware 는 위에서 아래로 등록한 순서대로 실행을 타게 됩니다.
첫번째 middleware 에서는 req객체에 user속성을 추가하고 그값으로 문자열을 하나 넣습니다.
두번째 middleware에서 req객체에 설정된 user속성을 확인하여 사용자 정보를 사용할 수 있습니다.
참고>>
middleware 안에서는 기본적으로 요청 객체인 req와 응답객체인 res 객체를 Parameter로 전달받아 사용할수있습니다.
그리고 이 middleware함수를 호출한 app객체도 참조할수있습니다.
req.app 코드를 사용하면 app 객체 참조가능합니다.
middleware함수를 보면 요청 객체와 응답 객체가 파라미터로 전달되며, 그다음 middleware로
넘길 수 있는 next 함수 객체도 전달됩니다. 따라서 next 함수 객체를
실행하면 다음middleware로 넘길 수 있습니다.
middleware를 사용하기 위해서 먼저 use() 메소드를 호출해야하며, middleware 2개를 등록했습니다.
'웹 (WEB) > Node JS' 카테고리의 다른 글
Express 요청 객체에 추가한 header와 parameter 분석 (0) | 2017.12.02 |
---|---|
Express 의 요청 객체와 응답객체 알아보기 (0) | 2017.12.02 |
익스프레스 (Express) 웹 서버 만들기 (0) | 2017.12.01 |
node.js (노드) get, post 요청 구현 (0) | 2017.12.01 |
node.js 클라이언트가 요청할 때 발생하는 이벤트 (event) 서버에서 처리 (0) | 2017.12.01 |