[NodeJS]Express.js 개요
Express.js란?
Node.js의 핵심 모듈인 http와 Connect 컴포넌트를 기반으로 하는 웹 프레임워크이다. 그런 컴포넌트를 미들웨어(middleware)라고 한다.
Express.js를 이용하게 된 계기로써, Node.js의 단점을 들자면, Node.js는
HTTP 요청 본문 파싱
쿠키 파싱
세션 관리
복잡한 if 조건을 통한 라우팅 구성
등등의 문제 해결에 있어, 반복적인 코드 작성이 있다고 한다.
Express.js는 해당 문제를 비롯한 다양한 문제에서 해결점을 찾았을 뿐만 아니라 MVC(Models, Views, Controllers)형태의 구조를 제공한다.
자바 스크립트 개발자가 웹 서버 개발까지 가능하게 해주며 풀스택 개발 능력을 갖추게 하여 유용하다.
Express.js의 작동 방식
Express.js에는 메인 파일이라고 하는 진입점이 있다. 해당 파일은
서드파티 의존 모듈을 인클루드한다.
템플릿 엔진, 템플릿 엔진의 파일 확장자와 같이 앱 설정을 구성한다.
미들웨어를 정의한다.
라우팅을 정의한다.
Mongo, MySQL같은 데이터베이스 연결한다.
앱을 구동한다.
의 역할을 한다.
실행 시에, 맨 위부터 라우팅과 미들웨어에 따라 맨 아래까지 처리된다. 그 과정은
쿠키를 파싱한다.
URL로부터 매개변수를 파싱한다
사용자 인증이 완료되면, db에서 정보를 가져와 일치하는 것이 있을 시에 다음 단계로 이동한다.
데이터를 표시하고 응답을 마친다.
간단한 Express.js 구동 방식
npm init을 통해 package.json 생성
npm install express를 통해 express 설치
app.js 생성 후, 다음과 같이 작성
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res, next) => {
res.send('<p>Hello World</p>')
})
- npm start 를 통해 서버를 실행한다.
Express.js 간단 함수
app.get
url과 qurey string에 요청 정보를 붙여 요청을 받으면 get 함수에서 콜백함수가 작동하여 request의 queryString으로 전달받은 데이터를 받아오는 등 데이터를 가져오는 작업을 한다.
post 방식의 요청은 http 패킷의 body영역에 queryString 형태로 데이터를 담아서 요청을 보낸다. app.post는 이렇게 post 방식으로 전송한 데이터를 콜백 함수를 통해 받아온다.