본문 바로가기

JavaScript

[Express] Router 적용하기

애플리케이션이 커질수록 라우트 설정과 미들웨어가 복잡해집니다.

라우터를 이용하면 각각을 모듈로 만들고,
메인 애플리케이션에서 마운트하여 작은 단위로 관리할 수 있습니다.

이번 포스트에서는 라우터의 사용법에 대해서 알아보겠습니다.


🎯 모듈 분리

예시로 쇼핑몰 애플리케이션에서는,
사용자와 상품을 담당하는 엔드포인트가 나누어져 있을 수 있습니다.

express.Router()를 사용하면 각 엔드포인트를 모듈식으로 관리할 수 있습니다.

// users.js
const express = require('express');
const router = express.Router();

// GET /users
router.get('/', (req, res) => {
  res.send('유저 리스트');
});

module.exports = router;
// products.js
const express = require('express');
const router = express.Router();

// GET /products
router.get('/', (req, res) => {
  res.send('상품 리스트');
});

module.exports = router;

 

🎯 마운팅

메인 애플리케이션에서 분리한 모듈을 통합시켜주어야 합니다.

app.use()를 사용하여 이를 수행할 수 있습니다.

const express = require('express');
const app = express();
const userRoute = require('./routes/user.js');
const productRoute = require('./routes/product.js');

app.listen(2024);

app.use('/users', userRoute);
app.use('/products', productRoute);

직접 모듈로 분리하고 마운팅을 진행해보니
[Express] 폴더 구조 알아보기에서 작성했던 프로젝트의 구조를 보다 잘 이해할 수 있었습니다.
역시 프로젝트도 직접 하나씩 구성해봐야 도움이 되는 것 같습니다.

이번 포스트는 여기까지입니다.
틀린 내용이 있다면 지적 부탁드립니다. 감사합니다!