미들웨어가 포함된 Express.js 애플리케이션

Susan Sarandon
풀어 주다: 2024-11-24 06:01:14
원래의
934명이 탐색했습니다.

Express.js Applications with Middleware

소개

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿