반응형
하나의 router.ts 파일에 모든 route 코드가 들어있으면 한 파일에서 관리하기는 쉬우나 가독성이 매우 떨어진다.
따라서 서비스 별 route를 분리해주는 방법을 확인해보자.
🟢 a service가 있다고 가정
이때 routers/a.ts 파일을 만들어 a 서비스에 대한 라우트를 정의
import { Router, Request, Response } from 'express';
const router = Router();
// 예시 라우트
router.get('/', (req: Request, res: Response) => {
res.send('Hello from a service');
});
export default router;
🟢 root 파일이 되는 router.ts에서 모듈 가져오기
import { Router } from 'express';
import aRouter from './routers/a';
const router = Router();
// 기본 루트
router.get('/', (req, res) => {
res.send('Hello from the main router');
});
// /a 경로에 대한 라우트
router.use('/a', aRouter);
export default router;
위와 같이 작성하면 router.ts 파일은 a 서비스의 라우트와 메인 라우트를 모두 관리하게된다.
/a로 요청이 들어오면 aRouter 모듈의 라우트를 처리하고, 다른 모든 경로에 대한 요청은 메인 라우터에서 처리된다.
반응형
'Applied > Node' 카테고리의 다른 글
cheerio와 puppeteer 차이 (0) | 2023.10.20 |
---|---|
npm ERR! ERROR: Failed to set up Chromium r117.0.5937! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. 에러 해결 (0) | 2023.10.17 |
[Node] req.body가 undefined인 경우 해결 방법 (0) | 2023.09.23 |