전기도둑 2018. 9. 10. 09:30

Express

- Web Server Framework

- Jade(=Pug) 템플릿 엔진 : 템플릿을 읽어 엔진의 문법과 설정에 따라서 파일을 HTML 형식으로 변환시키는 모듈


1. 폴더 구조 알아보기

- app.js : 핵심적인 서버 역할

- bin/www : 서버를 실행하는 스크립트

- public : 외부에서 접근 가능한 파일드을 모아둔 곳 ( 이미지, 자바스크립트, CSS 파일 )

- routes : 주소별 라우터들을 모아둔 곳 => 서버 로직

- views : 템플릿 파일을 모아둔 곳 => 화면 부분

- models : 데이터베이스 파일을 모아둔 곳 => 데이터 부분


2. 미들웨어

- 요청과 응답의 중간에 위치하여 미들웨어라고 부름

- 라우터와 에러 핸들러 또한 미들웨어의 일종

- 요청과 응답을 조작하여 기능 추가 및 요청을 걸러줌

- 보통 app.use와 함께 사용됨.

- 반드시 미들웨어 안에서 next()를 호출해야 다음 미들웨어로 넘어감


1) morgan

- 요청에 대한 정보를 콘솔에 기록


2) body-parser

- 요청의 본문을 해석

- 보통 폼 데이터나 AJAX 요청의 데이터를 처리


3) cookie-parser

- 요청에 동봉된 쿠키 해석


4) static

- 정적인 파일들을 제공

- 요청에 부합하는 정적 파일을 발견한 경우 응답으로 해당 파일 전송


5) express-session

- 세션 관리