Node.js

김동하·2021년 2월 27일
0

node

목록 보기
1/5
post-thumbnail

Node.js란?

  • 비동기 이벤트 기반 자바스크립트 런타임 환경!

비동기 이벤트 기반이란?

노드 환경에서 이벤트는 하나의 요청과 동일하다. 비동기적으로 이벤트를 처리한다는 것은 클라이언트 요청이 끝나기 전에 다음 클라이언트 요첨을 받는다는 의미다!

  • 간단한 서버(with out express.js)!

오... 신기방기...

  1. http.createServer는 콜백 함수를 받는다. 서버 요청이 들어오면 이 콜백 함수가 실행!

  2. 요청에 대한 응답의 헤더를 세팅

  3. res.end 함수로 요청에 대한 응답을 마무리한다.

  • 간단한 요청 보내보기

brew install httpie로 간단한 요청을 보낼 수 있다.

  • express의 필요성

노드 환경에서 모듈은 다 객체다! url && method는 req 객체에 담겨있는 정보다. 분기를 타고 엔드포인트에 따라 실행되는 함수에 인자를 제대로 넘겨야 한다.

요렇게 가져오면 된다. 그리고 어떤 요청이 들어오면 다른 함수가 실행되도록 라우팅되도록 index 수정!

요런 코드가 있다. res가 들어오면 res.end의 인자로 정의된 데이터를 내보낸다. 라우팅에 따라 직접 조건문을 분기해서 처리해야 한다.

요청을 보내면 데이터가 온다!!!!!! 신기해!!!!! 하지만 매번 이렇게 분기처리 하는 것은 불편해. 우리는 그런 불편함을 싫어해. 그런 불편함을 해소하기 위해 Express가 등장!

express

npm init -y를 통해 프로젝트에서 노드 모듈을 사용할 수 있게 해준다. 그리고 express install!

  • express를 사용해서 라우팅

app.get()에 들어가는 부분이 분기처리다! express로 긴 코드를 간단간단하게 만들 수 있음

express로 서버 만들기 완성!

express의 이점은 모듈화!!

app.method('path', handler function)

우와... 신기해.... 여기서 중요한 점은 req,res가 힘수를 타고 타고 들어간다는 것!

그렇다면 이제 DB 모델링을 해보자

(추가)

출처 : 준님

profile
프론트엔드 개발

0개의 댓글