직접 server를 만들고, 기본적으로 지원해주는 http 모듈을 이용해서 만들었다. express 라는 프레임워크를 사용하지 않고 server를 만들 수 있지만, 그러면 분기(endpoint)를 나눠주고 어떤 요청에 따라서 router를 시켜줘야한다. 이것을 편하게 하기 위해서는 express라는 프레임 워크를 많이 사용한다. 만약 express 없이 server를 직접 작성하면 분기를 해주고 거기에 따라 받아오는 buffer를 개발자가 볼 수 있도록 parse 보낼때는 stringify 같은 기능을 넣어주어야한다. 작성하면서 buffer를 보면 숫자로만 된 엄청 긴 배열을 보게된다.(HTTP 트랜잭션 해부 참고)
express의 장점
1. 미들웨어가 쉽다.
2. 자체 router 기능을 제공
(장점은 차차 설명)
express.com 공식 홈페이지에서 시작하기를 따라해보기 전에 우선 설치가 필요하다
npm i express --save
설치를하고 시작하기를 따라해보면
*express 모듈을 불러온다.
*app이라는 변수에 모듈에서 지원해주는 것을 지원 할 수 있도록 변수를 지정한다.
*server의 port를 설정한다. 기본적으로 제공되는 url은 localhost:${port}로 되어있다. 여기에 port번호를 지정한다.
*app.get은 express에서 제공해주는 router를 사용한다.
*app.get(url, callback) 첫번째 인자를 router 할 url을 적어준다. "/" 이렇게 적어주면 localhose:4001에 접속한다.
*callback의 인자로는 (request, response)를 받아온다. 줄여서 (req, res)많이 사용한다.
*res.send("hello world") 응답으로 "hello world" 문자열을 보내준다.
*app.listen(port, ()=>console("server open"))을 하면 server를 열때 사용하는 기능이고 console은 commandline에서 확인 할 수 ㅣㅆ다.
*server를 열때, commandline에 node app.js라고 입력하면된다. 현재 코드가 app.js 파일에 작성
조금더 쉽게 오픈 하기 위해서 package.json에 설정을 할 수 있다. package.jon 파일에서 scripts 객체에
"start" : "node app.js" 을 설정 해주면 npm start로 손쉽게 서버를 열 수 있다.
※node를 사용하면 단점은 server의 내용을 변경 할 때마다 서버를 껏다가 다시 켜야하는 번거로움이 있지만, 이것을 해줄 해주는 프레임워크들이 있다. 개인적으로 nodemon을 사용한다. npm nodemon을 검색하면 설치방법 및 사용법이 있다.
설치방법
npm i --save -dev nodemon
사용방법
사용법은 node app.js => nodemon app.js로 변경 해주면 사용 가능하다.
nodemon으로 바꾸고 localhost 페이지를 열어서 확인하면된다. page를 새로고침하면 바로 변화는 것을 알 수 있다. node를 사용하면 서버를 껏다가 다시 켜야한다.
'Coding > server' 카테고리의 다른 글
Server - login-server-tutorial (0) | 2021.12.05 |
---|---|
Server - node - express -typescript (0) | 2021.09.05 |
Server - 만들기 (0) | 2020.08.04 |
Server - 시작하기 (0) | 2020.08.02 |