Express.js에서의 자바스크립트 미들웨어 활용하기

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 공식 문서를 참조하시기 바랍니다.