Express 미들웨어 사용하는 방법과 자주 사용되는 미들웨어 소개
Express 애플리케이션에서 미들웨어는 요청과 응답 사이에서 중간 처리를 담당하는 함수들입니다. 이들은 Express 앱의 기능을 확장하고, 요청 처리 파이프라인을 효율적으로 관리할 수 있게 해줍니다. 이 글에서는 Express의 미들웨어 사용 방법과 함께 몇 가지 자주 사용되는 미들웨어를 소개합니다.
Express 미들웨어 사용 방법
Express에서 미들웨어를 사용하는 방법은 매우 간단합니다. 애플리케이션 또는 라우터 수준에서 app.use()
또는 router.use()
메서드를 사용하여 미들웨어를 등록할 수 있습니다.
const express = require('express');
const app = express();
const port = 3000;
// 요청 URL을 출력하는 미들웨어 함수
const logUrlMiddleware = (req, res, next) => {
console.log(`요청 받음: ${req.url}`);
next();
};
// 미들웨어 적용
app.use(logUrlMiddleware);
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`서버가 http://localhost:${port} 에서 실행중입니다.`);
});
이 코드는 각 요청이 처리되기 전에 요청 URL을 콘솔에 출력하는 미들웨어 함수 logUrlMiddleware
를 포함하고 있습니다. next()
함수는 다음 미들웨어 함수나 라우터 핸들러로 제어를 전달하는 역할을 합니다.
![Express 미들웨어 사용 예제코드 실행 화면](https://bluesharehub.com/wp-content/uploads/2024/03/image-47.png)
![Express 미들웨어 사용 예제코드 실행 화면](https://bluesharehub.com/wp-content/uploads/2024/03/image-47.png)
자주 사용되는 미들웨어 소개
1. express.static: 정적 파일(HTML, CSS, JavaScript, 이미지 파일 등)을 제공하는 데 사용됩니다. 이 미들웨어를 사용하면 특정 디렉토리의 파일을 웹 서버에서 직접 접근할 수 있게 됩니다.
app.use(express.static('public'));
위 코드는 ‘public’ 디렉토리 안의 파일들을 웹 서버의 루트 경로에서 제공합니다.
2. body-parser: 요청 본문을 파싱하여 req.body를 통해 쉽게 접근할 수 있게 해주는 미들웨어입니다. Express 4.16.0 버전 이후부터는 express 내장 메서드인 express.urlencoded와 express.json()을 사용하여 동일한 기능을 수행할 수 있습니다.
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
이 코드는 URL 인코딩된 데이터와 JSON 형식의 데이터를 각각 파싱합니다.
3. compression: 응답 데이터를 압축하는 데 사용됩니다. 이 미들웨어를 사용하면 대역폭을 절약하고 응답 시간을 개선할 수 있습니다.
const compression = require('compression');
app.use(compression());
이 코드는 모든 응답에 대해 압축을 적용합니다.
Express 미들웨어는 애플리케이션의 요청 처리 과정을 매우 유연하게 만들어 줍니다. 위에서 소개한 미들웨어 외에도 Express와 함께 사용할 수 있는 다양한 미들웨어가 있으니, 필요에 따라 적절한 미들웨어를 선택하여 사용하시길 바랍니다.
더 자세한 정보를 원하시면, Express 공식 문서의 미들웨어 섹션을 참조하세요.
관련 이전 게시글
- Node.js 소개 및 윈도우에 설치하는 방법
- Node.js 패키지 관리자 NPM 사용법과 package.json 파일 역할
- Express.js 소개 및 윈도우에서의 노드 기반 설치 방법
- Node.js 기반에서 Express를 활용한 기본 웹 서버 구축하는 방법
- Express 기본 라우팅: GET과 POST 요청 처리하는 방법
이 글이 도움이 되셨다면 공유 부탁 드립니다.