애플리케이션이 커질수록 라우트 설정과 미들웨어가 복잡해집니다.
라우터를 이용하면 각각을 모듈로 만들고,
메인 애플리케이션에서 마운트하여 작은 단위로 관리할 수 있습니다.
이번 포스트에서는 라우터의 사용법에 대해서 알아보겠습니다.
🎯 모듈 분리
예시로 쇼핑몰 애플리케이션에서는,
사용자와 상품을 담당하는 엔드포인트가 나누어져 있을 수 있습니다.
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] 폴더 구조 알아보기에서 작성했던 프로젝트의 구조를 보다 잘 이해할 수 있었습니다.
역시 프로젝트도 직접 하나씩 구성해봐야 도움이 되는 것 같습니다.
이번 포스트는 여기까지입니다.
틀린 내용이 있다면 지적 부탁드립니다. 감사합니다!
'JavaScript' 카테고리의 다른 글
[Javascript] Promise와 async/await의 비동기 처리 (0) | 2024.10.14 |
---|---|
[Express] 유효성 검사를 해보자 (1) | 2024.09.24 |
[Express] 같은 경로의 핸들러 묶기 (0) | 2024.09.09 |
[Express] 폴더 구조 알아보기 (0) | 2024.09.03 |
함수를 생성하는 여러가지 방법 (0) | 2024.09.03 |