미들웨어
프론트단에서 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 |