[06.08] express 웹 서버
버전 규약
x.y.z
x : major 버전 (0: 초기개발중, 1: 정식버전 / 하위호환이 되지않는 변경사항)
y : minor 버전 (하위 호환이 되는 변경사항)
z : patch 버전 (간단한 버그 수정)
==============
npm init -y : npm을 사용할 수 있게 초기화함.
npm i express-generator : express-generator 설치
express 폴더이름 : express와 관련된 모든것을 설치해줌
=================
미들웨어
- 요청과 응답의 중간에 위치.
- 어떠한 기능들을 정의해놓은 것.
- 라우터와 에러 핸들러 또한 미들웨어의 일종. => 매우 중요하다
- 주로 app.use와 함께 사용된다.
- 미들웨어가 끝날 때, 반드시 다음 미들웨어로 넘어가는 next()를 호출하여야 한다.
- next() : 인자 0개 -> 다음 미들웨어, 인자 1개 -> route를 넣으면 특수한 기능, 다른 값을 넣으면 미들웨어나 라우터
- 를 건너뛰고 바로 에러 핸들러로 이동.
,를 통해 여러개의 미들웨어를 붙일 수 있다. => 사용안하는 것이 좋다.
===========================================
다음에 나오는 모듈들은 express를 설치할 때, 자동으로 설치가 된다.
Morgan
https://www.npmjs.com/package/morgan
morgan
HTTP request logger middleware for node.js
www.npmjs.com
- 이러한 데이터들은 morgan모듈에서 출력되는 것이다.
- 처리시간과 같은 데이터들을 로그로 찍어주는 모듈이다.
- 로그를 파일로 남길 때에는 winston이라는 모듈을 더 많이 사용한다.
body-parser
https://www.npmjs.com/package/body-parser
body-parser
Node.js body parsing middleware
www.npmjs.com
- Body에 실려오는 데이터들을 parsing해주는 모듈
- express 안에 내장되어 있기때문에 따로 설치할 필요가 없다.
- req.on이나 그런것을 할 필요없이 req.body에 자동으로 Javascript 객체로 추가된다.
- 멀티플랫폼은 해석할 수 없다.
cookie-parser
https://www.npmjs.com/package/cookie-parser
cookie-parser
Parse HTTP request cookies
www.npmjs.com
- 쿠키 파서를 직접 만들지 않아도 된다.
설치가 되지않는 모듈
express-session
https://www.npmjs.com/package/express-session
express-session
Simple session middleware for Express
www.npmjs.com
- 서버에서 '인증'과 관련된 작업을 수행할 때 필요한 모듈