IT's Jenna

Express 환경 사용하기 3 - 라우팅 본문

Backend/Backend 기본

Express 환경 사용하기 3 - 라우팅

developer Jenna 2021. 1. 20. 11:55

Express에서 라우팅 하기

라우팅이란 Url로 전달받은 path의 경로에 따라 클라이언트에 응답하는 정보를 달리 하는 것이다.

 

이전 포스팅에서 Express 구조를 설명할 때, routes 폴더 안에 서버에 필요한 데이터 저장 및 동작을 설정할 수 있다고 했다.

 

  • routes/users.js의 구조
  1. Express 모듈 require 한다.
  2. Express 모듈 중 routing에 필요한 함수들의 모음인 Router()를 router라고 명명한다.
  3. router.method(‘method 적용 경로’ , 미들웨어 함수) : method가 실행되면 라우팅 경로에 미들웨어 함수가 동작한다.
  4. router에 설정한 모듈들을 외부에서 사용할 수 있도록 export 한다.

<users.js 구조>

 

users.js 파일에서 설정한 모듈들을 모두 exports 했기 때문에 app.js에서 require 할 수 있게 되었다.

 

  • app.js의 구조
  1. Routes 폴더 안에 만들어 둔 파일들을 불러온다. 이때 app.js는 index, users보다 상위에 있기 때문에 routes폴더를 한번 타고 들어가 줘야 한다.
  2. 라우팅 할 수 있도록 app.use를 통해 경로를 설정해준다. 
  • app.use(‘/‘, indexRouter) : localhost:3000/
  • app.use(/users’, usersRouter) : localhost:3000/users

<app.js의 구조>

 

페이지를 확장하면서 라우팅 주소를 달리하고 싶다면 router 파일에서 설정할 수 있다.

 

  • users.js 파일 안에 다음과 같이 코드를 작성하면 해당 페이지는 localhost:3000/users/login이라는 도메인을 가지게 된다.

<localhost:3000/users/login>

 

이렇게 index나 user에 주소를 연장시켜도 되고, 분류화를 위해 폴더를 더 생성할 수도 있다.

 

  1. routes 폴더 안에 원하는 경로 파일을 추가한다.
  2. app.js 파일 안에 mainrouter를 require 하고 app.use를 통해 추가 경로를 생성한다.

<main.js>
<app.js>

 

이렇게 페이지를 확장해가면서 라우팅을 할 수 있으며 어떤 식으로 path를 설정해나갈지는 개발자의 선택이다 :)

Comments