express의 Router를 사용하여 경로를 분할하기

developsy·2022년 7월 11일
0

설정한 여러 경로들을 한꺼번에 관리하고 싶다면 express의 Router 인스턴스를 사용하면 된다. 이 인스턴스는 경로를 그룹화하고 분할하여 유지보수를 용이하게 해준다.

경로를 따로 뺄 js파일을 생성한 뒤

const express = require('express');
const router = express.Router();

express.Router();를 사용하면 라우터가 생성된다. 만약 원래 설정한 경로가

const express = require('express');
const app = express();
app.get("/", function (req, res)~~~
app.get("/about", function (req, res)~~

식이었다면 express를 호출한 부분을 이제 Router로 바꿔준다.

router.get("/", function (req, res)~~~
router.get("/about", function (req, res)~~~

그 후 module.exports를 사용하여 다른 파일에서 라우터를 호출할 수 있도록 만들어준다.

module.exports = router;

require로 js파일이 저장된 경로에서 라우터를 불러온 뒤 미들웨어로 사용하면 된다.

const express = require('express');
const app = express();
const defaultRoute = require('./routes/default');
app.use('/', defaultRoute);

이때 use메서드의 첫 번째 파라미터로 ‘/’를 주었는데, 이 의미는 들어오는 경로의 시작이 ‘/’인 모든 경로를 확인한다는 뜻이다. 사실상 모든 요청이 defaultRoute로 전달된다.

이제

router.get("/", function (req, res)~~~
router.get("/about", function (req, res)~~~

를 보면 '도메인:포트/(/ 혹은 /about)'인 경로를 아웃 소싱하여 관리할 수 있게 되었다.

별거 아닌 것 같지만 이 또한 프로젝트가 커질수록 필수로 사용해야 한다.

profile
공부 정리용 블로그

0개의 댓글