Express
Express
Node.js를 사용하여 쉽게 서버를 구성할 수 있게 클래스와 라이브러리를 제공하는 웹 서버 프레임워크다.
Introduction to Express
Why
- node.js 에서 백엔드 서버를 구현할 때 가장 많이 사용한다
학습 목표
- express의 사용 방법을 익힌다.
- express와 연동되는 다양한 모듈의 사용법에 대해 익한다.
- template 엔진의 사용법을 학습한다.
Express 소개
- Node.js를 위한 경량 웹 프레임워크
- 쉽고 가장 많이 사용한다
- 실무에서도 사용 가능하다
install
https://expressjs.com/en/starter/installing.html를 참조한다.
quick start
https://expressjs.com/en/starter/generator.html를 참조한다.
# mac에서 권한요류 발생시 sudo 추가
npm install -g express-generator
# express가 안된다면 npx express-generator 명령으로
express hello-express --view=pug
cd hello-express
npm install
npm start
코드복사
express 내부 살펴보기
app.js
- 중요: 위에서 아래로 순서대로 실행됨
middleware
- https://expressjs.com/ko/guide/using-middleware.html
외부 모듈
- cookie-parser (https://www.npmjs.com/package/cookie-parser)
- debug (https://expressjs.com/ko/guide/debugging.html)
- http-errors(https://www.npmjs.com/package/http-errors)
- morgan (https://www.npmjs.com/package/morgan)
router와 라우팅
https://expressjs.com/en/starter/basic-routing.html
app.METHOD(PATH, HANDLER)
코드복사
- ‘use’를 사용하면 모든 메소드에 대응
- PATH를 생략하면 모든 URL에 대응
app.use(cookieparser())
app.use('/users', userRouter)
코드복사
template engine
- 데이터를 이용, 템플릿을 렌더링해서 사용자에게 응답
- 다양한 템플릿 엔진이 있음 (https://colorlib.com/wp/top-templating-engines-for-javascript/)
- 대표적으로 EJS, Jade, pug 등을 사용 (https://expressjs.com/ko/guide/using-template-engines.html)
- https://expressjs.com/ko/advanced/developing-template-engines.html