티스토리 뷰
Express는 라우팅을 편하게 하려고 사용해요. 라우팅이 클라이언트에서 보내주는 주소에 따라 다른 처리를 하는 것이라고 말했죠
여기서 실제로 처리하는 녀석이 '미들웨어'함수에요 . 그래서 Express는 미들웨어 함수로 구성되어 있다고 말하는 겁니다.
미들웨어는 크게 4가지 유형이 있어요
1. application (app) 미들웨어
2. router 미들웨어
3. error 처리 미들웨어
4. third-party 미들웨어
1. application (app)
먼저 app 미들웨어는 어플리케이션 전역에서 처리가 가능한 미들웨어로 어플리케이션 자체에 request가 발생할 때마다 실행돼요
app.use()
app.METHOD()
이 둘의 차이 주목!!
app.use('/index')는 /index 로의 모든 요청에 대해서 동작해요. 즉 get이나 post 등 어떤 HTTP method에도 작동을 합니다.
반면에 app.get('/index')는 get 요청에 대해서만 동작하는 미들웨어입니다.
2. router 미들웨어
동작방식은 Application-level 미들웨어랑 같아요
router 미들웨어를 사용한면 라우터들을 모듈화하여 관리할 수 있습니다.
3. error 처리 미들웨어
에러 처리를 담당하는 미들웨어입니다
Error처리 미들웨어로 넘어가기 위해서는 에러가 발생할 수 있는 미들웨어에서 반드시 next(err)를 통해
Error-handling 미들웨어로 넘어간다는 것을 지정해주어야 에러 처리가 정상적으로 작동합니다.
4. Third-party 미들웨어
기본적으로 주어지는 Built-in middleware 외에 추가로 설치하여 사용해야하는 미들웨어를
Third-party middleware라고 합니다.
var cookieParser = require('cookie-parser')
app.use(cookieParser())
'Node.js' 카테고리의 다른 글
DI (Dependecy Injection) (0) | 2021.12.29 |
---|---|
Providers (0) | 2021.12.29 |
Nest.js Core (0) | 2021.12.29 |
Express (0) | 2021.09.03 |
Node.js HTTP (0) | 2021.09.03 |