Node.js

express/ 미들웨어

25G 2023. 1. 25. 19:52

미들웨어

프론트단에서 api요청이 올때 특정한 라우터로 요청이 가기전에 수행할 일괄적인 과정들을 처리하는 기능을 한다.

app.use((req,res,nest) =>{
//라우터에 가기전에 일괄적인 처리를 하는 로직;
next();});

그럼 만약에 미들웨어가 라우터 밑에 있으면 어떻게 될까?

결론은 아무것도 실행되지 않는다.
그이유는 라우터에 바로 요청이 들어오기때문에 미들웨어가 수행되지않고 라우터단에서 응답이 끝나기 때문이다.

그렇기 때문에 express는 직관적이고 유연하게 프로그램을 짤 수 있다.

미들웨어 응용

라우터와 같은 주소로 설정해놓고 next()함수를 넣어서 미들웨어를 사용 할 수 있다.

app.get("/",(req,res,next) =>{});// get'/'의 미들웨어
app.get("/",(req,res)=>{});

이렇게 라우터와 미들웨어를 잘 활용하면 레고처럼 차곡차곡 앱을 만들어 갈 수 있다.

next()함수를 사용하지않으면 미들웨어에서 프로그램의 흐름이 멈춰서 라우터로 갈 수 없게된다.

'Node.js' 카테고리의 다른 글

Jest  (1) 2023.01.25
Node.js ?  (0) 2023.01.25
package.json ?  (0) 2023.01.25
ExpressJS  (0) 2023.01.25
Node 서버 실행  (0) 2023.01.25