미들웨어(Middleware)
- 다른 사람이 만든 소프트웨어를 부품으로 사용해 생산성을 높임
서드파티 미들웨어(Third-party Middleware)
- 다른 사람이 만들고 오피셜하지 않은 소프트웨어
미들웨어 사용하기
body-parser : 웹 브라우저에서 요청한 본체(body)를 분석해서 필요한 형태로 가공할 수 있음
- 설치 : npm install body-parser --save
- api : var bodyParser = require('body-parser');
- 사용 : app.use(bodyParser.urlencoded({ extended: false }));
-> app.use를 통해 bodyParser 모듈을 호출
-> bodyParser는 사용자가 전송한 post를 분석해서 app.post(인자1, 인자2)의 콜백을 호출
-> 콜백의 첫번째 인자엔 '인자.body'가 자동으로 붙어 값을 저장
-> app.post(request, response)이면 var post = request.body; 로 사용됨
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/create_process', function(req, res){
var post = req.body;
var title = post.title;
var description = post.description;
fs.writeFile(`data/${title}`, description, 'utf8', function(err){
res.redirect(`/page/${title}`);
});
});
app.post('/update_process', function(req, res){
var post = req.body;
var id = post.id;
var title = post.title;
var description = post.description;
fs.rename(`data/${id}`, `data/${title}`, function(error){
fs.writeFile(`data/${title}`, description, 'utf8', function(err){
res.redirect(`/page/${title}`);
});
});
});
app.post('/delete_process', function(req, res){
var post = req.body;
var id = post.id;
var filteredId = path.parse(id).base;
fs.unlink(`data/${filteredId}`, function(error){
res.redirect(`/`);
});
});
compression : 웹서버가 받은 데이터를 압축하고 웹브라우저에 전달
- 사용자들이 큰용량의 글을 등록한다면 처리하는데 비용가 시간이 들어감
- 웹서버가 웹브라우저에 응답할 때 압축된 데이터를 전달하고 웹브라우저는 받은 데이터를 압축해제함
- 설치 : npm install compression --save
- api : var compression = require('compression');
- 사용 : app.use(compression());
'Dev > Nodejs-express' 카테고리의 다른 글
[Nodejs-express] 정적인 파일 사용하기 (0) | 2020.08.09 |
---|---|
[Nodejs-express] 미들웨어 만들기 (0) | 2020.08.09 |
[Nodejs-express] app.post(), res.redirect() (0) | 2020.08.07 |
[Nodejs-express] req.params (0) | 2020.08.07 |
[Nodejs-express] app.get() (0) | 2020.08.07 |