
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 ์ฌ์ฉ ์ฌ๋ถ, ๊ธฐ๋ณธ true
lastModified
: lastModified ํค๋ ์ฌ์ฉ, ๊ธฐ๋ณธ true
maxAge
: ๊ธฐ๋ณธ๊ฐ 0
index
: ๊ธฐ๋ณธ๊ฐ index.html
๋ค์ ๊ฐ๋ฅ
app.use(express.static('public'));
app.use(express.static('files'));
๊ฐ์ ๊ฒฝ๋ก ์ค์
app.use('/static',express.static('files'))