노드 환경에서 이벤트는 하나의 요청과 동일하다. 비동기적으로 이벤트를 처리한다는 것은 클라이언트 요청이 끝나기 전에 다음 클라이언트 요첨을 받는다는 의미다!
오... 신기방기...
http.createServer
는 콜백 함수를 받는다. 서버 요청이 들어오면 이 콜백 함수가 실행!
요청에 대한 응답의 헤더를 세팅
res.end 함수로 요청에 대한 응답을 마무리한다.
brew install httpie
로 간단한 요청을 보낼 수 있다.
노드 환경에서 모듈은 다 객체다! url && method는 req 객체에 담겨있는 정보다. 분기를 타고 엔드포인트에 따라 실행되는 함수에 인자를 제대로 넘겨야 한다.
요렇게 가져오면 된다. 그리고 어떤 요청이 들어오면 다른 함수가 실행되도록 라우팅되도록 index 수정!
요런 코드가 있다. res가 들어오면 res.end의 인자로 정의된 데이터를 내보낸다. 라우팅에 따라 직접 조건문을 분기해서 처리해야 한다.
요청을 보내면 데이터가 온다!!!!!! 신기해!!!!! 하지만 매번 이렇게 분기처리 하는 것은 불편해. 우리는 그런 불편함을 싫어해. 그런 불편함을 해소하기 위해 Express가 등장!
npm init -y
를 통해 프로젝트에서 노드 모듈을 사용할 수 있게 해준다. 그리고 express install!
app.get()
에 들어가는 부분이 분기처리다! express로 긴 코드를 간단간단하게 만들 수 있음
express로 서버 만들기 완성!
express의 이점은 모듈화!!
app.method('path', handler function)
우와... 신기해.... 여기서 중요한 점은 req,res
가 힘수를 타고 타고 들어간다는 것!
(추가)
출처 : 준님