Express에서 미들웨어가 정확히 뭔가요? app.use()로 뭔가 넣는 건 알겠는데, next()를 왜 호출해야 하는지, 미들웨어 순서가 왜 중요한지 이해가 안 됩니다. 간단한 예제로 설명해주시면 감사하겠습니다.
댓글 4
```javascript
app.use((req, res, next) => {
console.log(req.method, req.url); // 로깅
next(); // 다음 미들웨어로 넘김
});
```
next()를 호출하지 않으면 요청이 거기서 멈춥니다. 순서가 중요한 이유는 위에서 아래로 실행되기 때문이에요.
예: body-parser를 라우트보다 먼저 넣어야 req.body를 쓸 수 있습니다.
1. helmet (보안 헤더)
2. cors
3. body-parser / express.json()
4. 인증 미들웨어
5. 라우터
6. 에러 핸들러
이 순서 외우면 됩니다.