설정한 여러 경로들을 한꺼번에 관리하고 싶다면 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)'인 경로를 아웃 소싱하여 관리할 수 있게 되었다.
별거 아닌 것 같지만 이 또한 프로젝트가 커질수록 필수로 사용해야 한다.