Node.js Middleware의 개념 및 실행 순서
# 본 강의는 egoing님의 생활코딩 강의를 정리한 것입니다.
express모듈을 사용한 node.js 웹 서버 프로그래밍에서
Middleware라는 중요한 개념이 등장한다.
1. Middleware의 개념
먼저 다음 코드를 보자
app.get('/',function(request,response){
response.send("Hello World!");
});
"/ 라는 주소로 요청이 들어오면
2번째 인자로 전달된 함수를 실행하라"라고 프로그래밍 하였다.
2번째 인자로 전달된 함수와 같은 형태를 Middleware라고 한다.
우리는 특정 상황에서
Application이 어떠한 방식으로 동작하기를 원한다.
그리고 그 동작을 함수로 정의한다.
이것이 바로 middleware이다.
2. 활용 예시
app.use(bodyParser.urlencoded({ extended: false }));
// 1. post메소드를 처리하는 용도로 사용되는 body-parser라는 middleware를 사용하는 방법
app.use(compression());
// 2. 서버가 클라이언트로 Response를 전달할 때 압축해서 전달시키기 위해 사용되는 middleware
app.get('*', (request, response, next) => {
db.query('SELECT * FROM topic',function(err,topics){
request.topics = topics;
console.log(topics);
next();
});
});
// 3. GET method request로 오는 모든 경우에 호출되는 middleware
app.get('/',topic.home);
// 4. Document Root로 GET method request가 오는 경우 호출되는 middleware
특히 3,4와 같은 형식의 middleware를 application-level middleware라고 한다.
만약 client가 GET Method로 웹서버의 /로 HTTP Request를 보냈을 시,
middleware는 위 코드의
1 > 2 > 3 > 4 순서대로 실행이 된다.
'Back-End > node.js' 카테고리의 다른 글
Express app 구현 시 주의해야 할 보안 관련 이슈 (0) | 2022.03.04 |
---|---|
Express module의 error handling (0) | 2022.03.02 |
Express 모듈에서 static file의 서비스 (0) | 2022.03.01 |
express 프레임워크를 이용한 node.js의 골격 (0) | 2022.02.23 |
node.js pm2 패키지 매니저 사용 방법 (0) | 2022.02.23 |