Express
- Light HTTP web Framework
npm install express
서버 생성, 시작
var express = require('express');
var app = express();
app.listen(3000);
- HTTP 모듈 서버와 함께 사용하기
var http = require('http');
var express = require('express');
var app = express();
http.createServer(app).listen(3000);
Express MiddleWare
- 요청 분석, 처리하는 모듈
- 여러 개의 미들웨어로 구성
- 중간에 껴넣는다는 의미로 부가적인 기능이나 처리를 제공하는 목적
- app.use(MiddleWare)
routing
- 요청 처리 미들웨어로 분배
// Method
app.get('/',function(req,res){});
app.post('/',function(req,res){});
app.get('/user',function(req,res){});
app.post('/post',function(req,res){});
요청 분석
req.query
: 쿼리 문자열req.path
: 요청 URL 중 경로req.params
: URL의 파라미터req.cookie
: 요청 메시지 내 Cookie(Cookie Parser 필요)req.body
: 요청 메시지 내 바디 분석(Body Parser 필요)
응답
res.json()
`res.redirect()
res.render()
res.send()
res.sendStatus()
res.status()
res.download()
Middleware
Framework
connect
Express
- 작은 단위 모듈
- 요청과 응답 처리 함수 형태
- 하나의 Middleware에서 요청 분석 응답 마무리
- 여러 Middleware를 겨처서 요청 응답 가능
Middleware mount
app.use(path,function)
- Default Path value :
/
- 다른 Middleware로 넘어가기 :
app.use(path,function(req,res,next){ next() })
- 순서가 중요하다.
Middleware stack
app.use(function1, function2)
next()
를 호출해야 다음 function으로 진행한다.
보통 Middleware 순서
- favicon 처리
- Logging
- Static file
- Service Middleware
- Handle Error
Static file Middleware
express.static(root, option)
etag
: etag 사용 여부, 기본 truelastModified
: lastModified 헤더 사용, 기본 truemaxAge
: 기본값 0index
: 기본값 index.html
다수 가능
app.use(express.static('public'));
app.use(express.static('files'));
가상 경로 설정
app.use('/static',express.static('files'))