Backend Study

Express.js란 무엇인가?

jimmmy_jin 2025. 1. 31. 08:42

1. Express.js 개요

Express.js는 Node.js 환경에서 실행되는 경량 웹 애플리케이션 프레임워크로, 서버 개발을 쉽고 빠르게 할 수 있도록 도와주는 라이브러리이다.

  • Node.js의 표준 웹 프레임워크로 널리 사용된다.
  • RESTful API 및 웹 애플리케이션 구축에 적합하다.
  • 미들웨어를 활용한 요청 및 응답 처리가 용이하다.

2. Express.js의 특징

1) 간결한 코드

Express.js는 코드의 복잡성을 줄이고 간결한 방식으로 서버를 구축할 수 있도록 설계되었다.

2) 미들웨어 지원

미들웨어를 활용하여 요청과 응답을 쉽게 가공할 수 있다. 예를 들어, 요청을 로깅하거나, 인증 및 권한 부여를 수행할 수 있다.

3) RESTful API 설계

Express.js는 REST API를 빠르게 개발할 수 있도록 도와준다. JSON 데이터를 다루기 쉽고, API 개발이 용이하다.

4) 유연한 라우팅 시스템

Express는 URL 경로에 따라 요청을 다르게 처리할 수 있는 라우팅 기능을 제공한다.

5) 다양한 템플릿 엔진 지원

Pug, EJS, Handlebars 등 다양한 템플릿 엔진을 지원하여 동적인 HTML 페이지를 생성할 수 있다.

3. Express.js 설치 및 기본 사용법

1) 설치

npm install express

2) 간단한 서버 만들기

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello, Express!');
});

app.listen(3000, () => {
    console.log('서버가 3000번 포트에서 실행 중입니다.');
});

위 코드를 실행하면 http://localhost:3000/에서 "Hello, Express!"를 확인할 수 있다.

4. Express.js의 주요 기능

1) 라우팅 (Routing)

Express는 URL 패턴에 따라 요청을 다르게 처리할 수 있는 라우팅 기능을 제공한다.

app.get('/user/:id', (req, res) => {
    res.send(`User ID: ${req.params.id}`);
});

2) 미들웨어 (Middleware)

미들웨어를 활용하면 요청과 응답을 가로채어 원하는 로직을 추가할 수 있다.

const logger = (req, res, next) => {
    console.log(`Request made to: ${req.url}`);
    next();
};

app.use(logger);

3) JSON 요청 처리

Express는 JSON 데이터를 쉽게 처리할 수 있도록 express.json() 미들웨어를 제공한다.

app.use(express.json());

app.post('/data', (req, res) => {
    console.log(req.body);
    res.send('데이터 수신 완료');
});

5. Express.js 활용 사례

1) REST API 개발

Express는 RESTful API 개발을 위한 최적의 프레임워크이다.

app.get('/api/products', (req, res) => {
    res.json([{ id: 1, name: '상품 A' }, { id: 2, name: '상품 B' }]);
});

2) 사용자 인증 및 세션 관리

Express와 express-session, passport.js 등을 활용하여 로그인 및 인증 시스템을 구축할 수 있다.

3) 정적 파일 제공

app.use(express.static('public'));

6. Express.js와 다른 Node.js 웹 프레임워크 비교

특징 Express.js Koa.js Fastify

사용 편의성 높음 중간 높음
미들웨어 시스템 내장 별도 추가 필요 내장
성능 보통 빠름 매우 빠름
사용 사례 일반적인 웹 애플리케이션, REST API 경량화된 서버 구축 고성능 API 개발

7. 결론

Express.js는 Node.js 기반의 웹 애플리케이션과 RESTful API 개발에 가장 많이 사용되는 프레임워크 중 하나이다.

  • 간결하고 사용하기 쉬운 구조로 빠른 서버 개발이 가능하다.
  • 미들웨어, 라우팅 시스템을 통해 유연한 개발이 가능하다.
  • REST API, 정적 파일 제공, 인증 시스템 구축 등 다양한 용도로 활용될 수 있다.

Express.js를 잘 활용하면 효율적인 웹 애플리케이션과 API 서버를 구축할 수 있다!