티스토리 뷰

Web Development/NodeJS

06. express.js Middleware

tongnamuu 2020. 3. 19. 17:48

이번엔 미들웨어에 대해 알아보자

서버에 필요한 기능들을 익스프레스 인스턴스(어플리케이션)에 추가하는 것이다.

helmet, cooieParser, bodyPerser, morgan 등이 있고 그 외에도 Custom Middleware를 작성할 수도 있다. 

middleware를 추가할 때는 app.use()를 사용한다.

 

index.js를 위와 같이 바꿔주고 실행시킨 후 cmd창에서

curl -X GET "localhost:3000"

를 실행시켜주면 index.js를 실행시킨 쪽에서 아래와 같이 나오게 된다.

Custom logging Middleware가 찍혀나오게 된다. middleware에는 req, res, next를 인자로 가지며 next를 실행시켜야 다음 함수로 넘어가게 되는 것이다. 다른 함수를 더 만들어서 테스트해보자.

curl -X GET "localhost:3000"

를 실행시키면 

이렇게 된다. 이때 첫번째의 next를 삭제해보자.

이 때 쿼리를 실행해주면 첫 middleware만 실행되는 것을 볼 수 있다. 그리고 쿼리를 넣어준 cmd쪽에서는 응답을 받지못한 채 대기상태에 놓여있다. 즉 next를 꼭 넣어주자.

이제는 npmjs에서 제공해주는 middleware를 설치해보자

여기서는 morgan을 설치해보겠다.

npm install morgan

https://www.npmjs.com/package/morgan

 

morgan

HTTP request logger middleware for node.js

www.npmjs.com

를 살펴보면 morgan을 사용할 때 옵션을 줄 수 있다.

https://www.npmjs.com/package/morgan#predefined-formats여기서는 dev option을 주겠다.

 

morgan

HTTP request logger middleware for node.js

www.npmjs.com

직접 만든 middleware코드를 삭제하고 수정하자.

이 때 쿼리를 실행해주면 아래와 같이 로그가 찍히게 된다.

다음에는 에러 미들웨어에 대해 알아보겠다.

'Web Development > NodeJS' 카테고리의 다른 글

08. express router, request, response  (0) 2020.03.19
07. express.js Error Middleware  (0) 2020.03.19
05. express.js  (0) 2020.03.16
04. NodeJs URL처리  (0) 2020.03.16
03. Hello World in NodeJS  (0) 2020.03.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함