Express.js의 미들웨어는 들어오는 요청과 나가는 응답을 가로챌 수 있는 강력한 메커니즘입니다. 핵심 라우팅 논리를 수정하지 않고도 애플리케이션의 기능을 확장할 수 있는 유연한 방법을 제공합니다. 이번 블로그 게시물에서는 미들웨어의 개념과 다양한 유형을 살펴보고 이를 효과적으로 구현하는 방법을 보여드리겠습니다.
미들웨어의 이해
미들웨어 기능은 기본적으로 요청(req), 응답(res) 및 체인의 다음 미들웨어(next)에 액세스할 수 있는 기능입니다. 다음과 같은 다양한 작업을 수행할 수 있습니다.
로깅: 분석 및 디버깅을 위해 들어오는 요청과 나가는 응답을 기록합니다.
인증: 사용자 자격 증명을 확인하고 보호된 경로에 대한 액세스를 승인합니다.
오류 처리: 애플리케이션 내에서 발생하는 오류를 포착하고 처리합니다.
요청 본문 구문 분석: 들어오는 요청 본문(예: JSON, 양식 데이터)을 구문 분석합니다.
응답 헤더 설정: 발신 응답에 사용자 정의 헤더(예: CORS 헤더)를 설정합니다.
미들웨어 종류
애플리케이션 수준 미들웨어:
Express 앱으로 들어오는 모든 요청에 적용됩니다.
일반적으로 전역 구성, 로깅 및 오류 처리에 사용됩니다.
const express = require('express'); const app = express(); // Application-level middleware app.use((req, res, next) => { console.log('Request URL:', req.url); next(); });
라우터 수준 미들웨어:
특정 경로 또는 경로 그룹에 적용됩니다.
경로별 인증, 승인 또는 데이터 검증에 유용합니다.
const express = require('express'); const router = express.Router(); // Router-level middleware router.use((req, res, next) => { console.log('Router-level middleware'); next(); }); router.get('/users', (req, res) => { // ... });
오류 처리 미들웨어:
애플리케이션 내에서 발생하는 오류를 처리하도록 설계되었습니다.
err, req, res, next의 네 가지 인수가 있어야 합니다.
app.use((err, req, res, next) => { console.error(err.stack); res.status(500).send('Internal Server Error'); });
결론
미들웨어를 효과적으로 활용하면 Express.js 애플리케이션의 보안, 성능 및 전반적인 기능을 향상시킬 수 있습니다. 다양한 유형의 미들웨어와 적절한 사용 사례를 이해하면 강력하고 확장 가능한 웹 애플리케이션을 만들 수 있습니다.
위 내용은 미들웨어가 포함된 Express.js 애플리케이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!