라우터 미들웨어

Router 객체를 이용하여 라우트 코드를 보다 읽기 쉽고 관리하기 쉽게 해줌

 

 

 

 

예시

 

라우터 미들웨어를 사용하지 않은 코드. 이 코드를 라우터 미들웨어를 사용한 버전으로 바꾸어 보려고 한다.

 

 

 

대문자 Router()가 라우터 객체, router는 그 객체를 받는 인스턴스

 

 

 

 

라우터 인스턴스로 경로가 같은 것을 다음과같이 설정해 get일 경우, post 일경우 코드를 작성하려고 한다.

밑의 두개의 라우터를 하나의 코드로 정리하는 것

 

 

 

 

완성

 

 

 

 

 

파라미터를 가지는 라우터들 역시 미들웨어로 정리를 했다.

 

 

 

 

최종 완성, 라우터 미들웨어를 사용하지 않았을 때 보다, 더 간단해진 걸 확인할 수 있다.

 

 

 

 

다른 파일에 있는 라우터 미들웨어를 사용

 

routes/contactRoutes.js 안에 라우터 미들웨어가 있을 경우, 그걸 사용하고 싶다면. 그 js 파일에 module.exports로 해당 라우터를 외부에서 사용하겠다는 것을 선언하고.

 

서버를 실행하는 app.js에서 app.use()를 이용해 외부에 있는 미들웨어를 사용할것을 설정한다. 

 

 

 

 

 

contactRoutes 파일 안에 있는 미들웨어의 '/contacts' 경로 부분을 제거한 후 애플리케이션 코드의 app.use() 에 설정한 경로에 '/contacts' 이렇게 설정해도. 같은 결과가 나타난다.

+ Recent posts