Javascript를 서버에서 사용하기 위해 구글 V8엔진을 기반으로 한 nodeJS프레임워크를 사용해야 한다. 따라서 REST API서버를 편리하게 구현하기 위한 프레임워크가 express이다.
next
함수Express는 Node.js를 위한 인기 있는 웹 서버 프레임워크로, 유연성과 간결한 구조로 알려져 있습니다. 개발자들이 효율적으로 견고한 웹 애플리케이션 및 API를 구축할 수 있게 돕습니다. Express의 핵심 개념 중 하나는 미들웨어의 사용인데, 미들웨어는 애플리케이션의 요청-응답 사이클에서 다음 미들웨어로 넘어가기 위한 next
함수를 포함하여 요청(req
), 응답(res
) 객체에 접근할 수 있는 함수들입니다.
미들웨어 함수는 코드를 실행하고, 요청 및 응답 객체를 변경하며, 요청-응답 사이클을 종료하고, 스택에서 다음 미들웨어 함수를 호출할 수 있습니다. 현재 미들웨어 함수가 요청-응답 사이클을 종료하지 않는 경우, 다음 미들웨어로 제어를 넘기기 위해 next()
를 반드시 호출해야 합니다. 그렇지 않으면 요청이 계속 대기 상태에 머무르게 됩니다.
next
함수의 역할next
함수는 Express가 제공하는 함수로, 호출될 때 줄 서 있는 다음 미들웨어를 실행합니다. next
함수는 다음과 같은 이유로 중요합니다:
next
함수에 에러를 전달함으로써 (예: next(err)
), Express는 에러를 에러 처리 미들웨어로 전달하여 중앙 집중식 에러 관리를 가능하게 합니다.app.use((req, res, next) => {
// 몇 가지 작업 수행
next(); // 다음 미들웨어로 제어를 넘김
});
app.use((req, res, next) => {
// 첫 번째 미들웨어 이후에 작동하는 미들웨어
next();
});
// 에러 처리 미들웨어
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('무언가 문제가 발생했습니다!');
});