# [VSCODE에서 Node.js로 웹페이지 만들어보기2]

이효성·2023년 9월 25일

Node.js

목록 보기
2/3

[VSCODE에서 Node.js로 웹페이지 만들어보기2]


이전 글에서 Express.js를 사용해서 간단하게 웹 서버를 만들었고, 이번 시간에는 웹서버를 활용하여 라우팅 처리하는 방법에 대해 알아보도록 하자

- 라우팅이란?

라우팅이란 특정 엔드 포인트에 대한 클라이언트 요청에 서버가 응답하는 방법을 결정하는 것이라 생각하면 이해하기 쉽다.

- 엔드 포인트란?

URL(경로)와 HTTP 요청 메서드(GET,POST,PUT,DELETE 등)로 구분된 클라이언트 요청을 말한다.

이전에 설치한 Express에서의 라우트 구조를 보면

- app.METHOD(PATH,HANDLER);

app : Express의 인스턴스
METHOD : HTTP 요청 메서드(GET,POST,PUT,DELETE 등)
PATH : 서버에서의 경로
HANDLER : 가운데(Router)가 일치할 때 실행되는 함수

- 라우트 메서드란?

클라이언트에서 서버로 요청을 보낼 때 사용한 HTTP 요청 메서드를 말하는 것이다.

예를 들어 설명해본다면, 클라이언트에서 get을 사용하여 HTTP 요청 메서드를 서버로 전송했다면, Express 라우트 메서드 역시 get으로 작성된 처리 코드가 있어야 해당 함수가 동작된다.

다음 예제 코드를 보면 이해가 될 것이다.

- 라우트 경로

요청 메서드와의 조합을 통해서 요청이 이루어질 수 있는 엔드 포인트를 정의해 준다.

라우트를 표기하는 문자열, 패턴, 정규식의 예시를 알아보면

문자열 예시

'/', '/about' , '/about/cuustomer'

문자열 패턴 예시

'/ab?cd' // 'b?'는 문자 b가 0개 혹은 1개 있다는 것을 의미
'/ab+cd' // 'b+'는 문자 'b'가 1개 이상 있다는 것을 의미
'ab*cd' // 문자 'ab'와 문자 'cd' 사이에 문자가 없거나 혹은 어떤 문자도 올 수 있다는 것을 의미
'ab(cd)?e' //'(cd)?'는 문자 'cd'가 0번 혹은 1번 있을 수 있다는 것을 의미

정규식 예시

/a/ // 클라이언트에서 요청한 라우트 경로에 'a'가 포함되어 있는 경우
/^insert/ // 클라이언트에서 요청한 라우트 경로가 문자 'insert'로 시작하는 경우

- 라우트 핸들러

클라이언트 요청에 따라 라우트가 일치할 경우 실행되는 콜백 함수를 말한다.

라우트 핸들러에서 사용되는 매개변수를 알아보면

  • req : Request로 클라이언트의 요청 정보를 담고 있음
  • res : Response로 클라이언트에게 응답하기 위한 정보를 담고 있음
  • next : 다음 미들웨어 함수를 가리키는 Object

next Object 사용 예시를 보면

콜백 함수 배열 사용 예시

- 응답 메서드

다음 메서드 중에 한 가지 방법으로 응답해야 한다.

※서버에서 응답하지 않은 경우에 클라이언트는 응답을 받지 못하고 정지된 상태를 유지한다.

- 라우트 처리

app.route(): 모듈식 라우트를 작성하면 중복성이 감소해 효율적인 코드 관리가 가능하다.

  • app.route()
    GET,POST,PUT과 같은 라우트 메서드를 한 곳에 작성 할 수있다.

  • Express.Router
    라우트 처리를 여러 개의 파일로 분리해 구현 가능하다.

  • routes/customer.js

  • routes/product.js

  • app.js

다음으로 Express 에러 처리와 정적 파일 제공하는 방법에 대해서 알아보자.

profile
많이 알아보자 !

0개의 댓글