Express.js는 Node.js에서 가장 인기있는 웹 프레임워크 중 하나입니다. 이를 통해 빠르고 간단하게 웹 애플리케이션을 개발할 수 있습니다. Express.js에서는 미들웨어를 활용하여 요청과 응답을 처리하는 중간 과정에서 유연하게 작업할 수 있습니다. 이 글에서는 Express.js에서 자바스크립트 미들웨어를 활용하는 방법에 대해 알아보겠습니다.
미들웨어란?
미들웨어는 Express.js 애플리케이션에서 요청과 응답의 중간에서 동작하는 함수입니다. 이 함수를 통해 요청과 응답을 조작하거나 다음 미들웨어로 이동하기 전 중간 과정에서 작업을 수행할 수 있습니다. 예를 들어, 미들웨어를 사용하여 요청의 로그를 기록하거나 인증을 처리할 수 있습니다.
Express.js에서 미들웨어 사용하기
Express.js에서 미들웨어를 사용하는 방법은 간단합니다. app.use()
메소드를 사용하여 미들웨어를 등록하고 요청과 응답의 중간에서 작업을 수행할 수 있습니다. 다음은 Express.js에서 미들웨어를 사용하는 예제입니다.
const express = require('express');
const app = express();
// 로깅 미들웨어
app.use((req, res, next) => {
console.log(`[${new Date().toLocaleString()}] ${req.method} ${req.url}`);
next();
});
// 정적 파일 서비스
app.use(express.static('public'));
// 라우팅
app.get('/', (req, res) => {
res.send('Hello, World!');
});
// 서버 시작
app.listen(3000, () => {
console.log('Server started on port 3000');
});
위 코드의 첫 번째 미들웨어는 요청의 로그를 기록하는 역할을 합니다. console.log()
를 사용하여 현재 시간, 요청의 HTTP 메소드, URL을 출력합니다. 그리고 next()
함수를 호출하여 다음 미들웨어로 이동합니다.
두 번째 미들웨어는 정적 파일을 서비스하기 위한 미들웨어입니다. express.static()
함수를 사용하여 public
디렉토리의 정적 파일들을 제공합니다.
마지막으로, /
경로에 대한 GET 요청을 처리하는 라우팅이 등록되어 있습니다. 이 경로로 요청이 들어오면 “Hello, World!” 메시지를 응답으로 보냅니다.
결론
Express.js에서 자바스크립트 미들웨어를 활용하면 요청과 응답을 유연하게 처리할 수 있습니다. 이를 통해 로깅, 인증, 정적 파일 서비스 등 다양한 작업을 수행할 수 있습니다. Express.js의 강력한 미들웨어 기능을 활용하여 효율적이고 안정적인 웹 애플리케이션을 개발할 수 있습니다.
더 자세한 정보는 Express.js 공식 문서를 참조하시기 바랍니다.