반응형
404 미들웨어 추가
app.use(function(req, res, next){
res.status(404).send('Sorry cant find that');
});
app.listen(3000, () => console.log('Example app listening on port 3000'));
미들웨어 중 가장 마지막에 추가
- 미들웨어는 순차적으로 실행되기에 더이상 실행될게 없을 때 404를 보내고 메세지를 전달
없는 페이지 처리
app.get('/page/:pageId', function(req, res, next){
// 세번째 인자로 next를 받음
var filteredId = path.parse(req.params.pageId).base;
fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){
if(err){ // 없는 페이지로 접근하면
next(err); // err 미들웨어 실행
} else {
var title = req.params.pageId;
var sanitizedTitle = sanitizeHtml(title);
var sanitizedDescription = sanitizeHtml(description, {
allowedTags:['h1']
});
var list = template.list(req.list);
var html = template.HTML(sanitizedTitle, list,
`<h2>${sanitizedTitle}</h2>${sanitizedDescription}`,
` <a href="/create">create</a>
<a href="/update/${sanitizedTitle}">update</a>
<form action="/delete_process" method="post">
<input type="hidden" name="id" value="${sanitizedTitle}">
<input type="submit" value="delete">
</form>`
);
res.send(html);
}
});
});
없는 페이지 접근시 메시지 출력하기
app.use(function(req, res, next){
res.status(404).send('Sorry cant find that');
});
// 404 다음에 넣기
// next(err)가 실행되면 인자가 4개인 미들웨어가 실행됨
app.use(function(err, req, res, next){
console.error(err.stack); // 에러 내용 출력
res.status(500).send('Something broke');
});
app.listen(3000, () => console.log('Example app listening on port 3000'));
반응형
'Dev > Nodejs-express' 카테고리의 다른 글
[Node.js] 서버 모듈 설치하기(package.json) (0) | 2024.09.09 |
---|---|
[Nodejs-express] Express generator (0) | 2020.08.11 |
[Nodejs-express] 정적인 파일 사용하기 (0) | 2020.08.09 |
[Nodejs-express] 미들웨어 만들기 (0) | 2020.08.09 |
[Nodejs-express] 미들웨어, body-parser, compression (0) | 2020.08.08 |