TIL express

백광호·2021년 2월 9일
0

TIL

목록 보기
46/55

새로 배운 것들

express

Node.js에서 서버를 쉽게 만들게 해주는 프레임 워크이다.

npm install express
npm install express --save

프레임 워크 설치는 설치할 디렉토리 내에서 위 명령어로 설치하면된다.
프로젝트 파일(package.json)이 있어야한다.

가장 기본적인 서버를 만드는 것부터 살펴보자
js파일을 하나 만들어 아래와 같은 내용을 넣어보자

const express = require('express') // express Module load
const app = express() // express Module Function
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

파일을 만들면 가장 먼저 해야될 것은 commonJS를 이용해
익스프레스 모듈을 로드 하는 것이다.

const express = require('express')

그다음 익스프레스 함수 실행값을 담아줄 변수를 선언하고
포트 번호도 따로 선언해준다.

const app = express()
const port = 3000

익스프레스 함수 실행값(express())은
익스프레스 모듈에서 내보내는 최상위 함수로
이를 이용해 익스프레스의 메소드를 실행할 수 있다.

이제 서버를 만들 준비는 끝났다

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.get 메소드는 HTTP GET 메소드를
지정된 경로로 라우팅하는 메소드이다.

라우팅이란, 특정 엔드포인트에 대한 클라이언트 요청에
애플리케이션이 응답하는 방법을 결정하는 것을 말한다.

익스프레스에서 라우팅을 하는 방법은 아래와 같다.

app.METHOD(PATH, HANDLER)

이 바로 위의 에제도 이 방법을 이용해 라우팅한 것이다.
키워드를 하나하나 살펴보면 다음과 같다.

  • appexpress의 인스턴스
  • METHODHTTP 요청 메소드
  • PATH는 서버에서의 경로
  • HANDLER는 라우트가 일치할 때 실행되는 함수

다시 예제로 돌아가 라우트가 일치할 때 실행된 함수안의
res.send('Hello World!')는 HTTP 응답 메소드이다.
인자로는 HTTP body가 들어가며
Buffer, String, Object, Array, Boolean가 들어간다.

쉽게 생각해서 Node HTTP server에서 사용하는 response.end()
익스프레스 버전이라고 생각하면 된다.

이제 마지막으로 app.listen이 남았는데
이는 Node HTTP server에서 사용하는 listen과 같은 역활을 한다.

전체적으로 살펴봤을때에 Node HTTP Server보다
코딩해야할 것들이 많이 줄어들고 간결해진다.

profile
안녕하세요

0개의 댓글