가자미의 개발이야기
[Node.js] 미들웨어 본문
1. 미들웨어
#익스프레스는 미들웨어로 구성됨
요청과 응답의 중간에 위치하기 때문에 미들웨어라고 함
위에서 아래로 순서대로 실행됨.
미들웨어는 req, res, next가 매개변수인 함수
req = 요청, res = 응답, next = 다음 미들웨어로 넘어감
미들웨어가 실행되는 경우
app.use(미들웨어) | 모든 요청에서 미들웨어 실행 |
app.use('/abc', 미들웨어) | abc로 시작하는 요청에서 미들웨어 실행 |
app.post('/abc', 미들웨어) | abc로 시작하는 post 요청에서 미들웨어 실행 |
2. 에러처리 미들웨어
#에러가 발생하면 에러 처리 미들웨어로
매개변수가 err, req, res, next 총 4개
err에 에러에 관한 정보
res.status 메서드로 http 상태 코드 지정 가능
익스프레스가 에러를 알아서 처리함
특별한 경우가 아니면 가장 아래로.
const express = require('express');
const app= express();
app.set('port', process.env.PORT || 3000);
//미들웨어
app.get('/', (req, res, next)=>{
console.log('GET / 요청에서만 실행.');
res.send('hello express');
next();
}, (req, res) => {
throw new Error('에러는 에러 처리 미들웨어로 갑니다.')
});
//에러처리 미들웨어
app.use((err,req,res,next)=> {
console.error(err);
res.status(500).send(err.message);
});
app.listen(app.get('port'),()=>{
console.log(app.get('port'), '번 포트에서 대기 중');
});
'HTML & CSS & JS > Node.js' 카테고리의 다른 글
[Node.js] 자주 사용하는 미들웨어(모듈) (0) | 2021.05.11 |
---|---|
[Node.js] express를 활용한 웹 개발 (0) | 2021.05.11 |
[Node.js] 이벤트 리스너를 추가한 간단한 웹서버 구현 (0) | 2021.03.17 |
[Node.js] Node.js에서 웹 서버 만들기 (0) | 2021.03.11 |
[Node.js] 자주 쓰이는 npm 명령어 (0) | 2021.03.11 |