0608 npm express 웹 서버 만들기

2021. 6. 8. 13:26Node.js

패키지 버전
버전의 첫번째 자리는 major 버전. 주 버전이 0이면 초기 개발 중이라는 뜻
1부터는 정식 버전 여기가 바뀌면 하위호환이 안 됨
두번째는 minor 호환 가능한 버전
세번째는 간단한 버그 수정과 같은 패치


powershell 말고 cmd 창에서 해야 작동됨

npm init -y
npm i express-generator -g
express [프로젝트 명]
cd [프로젝트 명]
npm install
npm start
localhost::3000

차례대로 cmd 창에 입력하면 서버가 열린다.

 

미들웨어:
요청과 응답의 중간에 위치한다.
요청과 응답을 조작하여 기능을 추가하기도 하고 나쁜 요청을 걸러낸다.
app.use와 사용된다.
use에 미들웨어를 콤마를 찍어 여러개 장착할 수 있다.

next 함수에 인자의 종류로 기능이 구분된다.
인자를 넣지 않으면 다음 미들웨어로 넘어가고, route를 넣으면 특수한 기능을 한다.
그 이외를 넣으면 에러 핸들러로 넘어가게 된다.

morgan 모듈
걸리는 처리 시간과 처리를 log로 찍어준다.


winston 모듈
로그를 파일로 만들 때 사용한다.

body-parser 모듈
요청의 본문을 해석해준다. (익스프레스에 내장되어있어서 따로 설치 필요x)
버퍼와 텍스트를 나눠야 할 경우엔 바디파서를 따로 설치해서 사용하기도 한다.
req의 바디에 직접적으로 자바스트립트 객체로 데이터가 들어온다.

express-session
세션 관리용 미들웨어
로그인 등으로 세션 - 인증&인가
DB에 저장되는 정보=세션
로그인 시 쿠키가 http에 저장되지 않도록 쿠키를 서버에서 직접 관리하는 방식으로 진행된다
각 서버엔 expire 타임이 있다.