Express Router 만들기
Router is beginning of url.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// server.js
const globalRouter = express.Router();
const handleHome = (req, res) => res.send("Home");
globalRouter.get("/", handleHome);
const userRouter = express.Router();
const handleEditUser = (req, res) => res.send("Edit User");
userRouter.get("/edit", handleEditUser);
const videoRouter = express.Router();
const handleWatchVideo = (req, res) => res.send("Watch Video");
videoRouter.get("/watch", handleWatchVideo);
app.use("/", globalRouter);
app.use("/users", userRouter);
app.use("/videos", videoRouter);
하지만 너무 복잡하다. 라우터가 늘어난다면? 관리하기가 힘들 것이다.
클린코드를위해 라우터별로 파일을 만들어주자
해당 라우터는 src/routers 폴더안에 작성하였다. 다른 모듈(다른 파일)에서 가져오는 것이기 때문에 export / import 를 해주어야 사용가능!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// globalRouter.js
const globalRouter = express.Router();
const handleHome = (req, res) => res.send("Home");
globalRouter.get("/", handleHome);
// userRouter.js
const userRouter = express.Router();
const handleEditUser = (req, res) => res.send("Edit User");
userRouter.get("/edit", handleEditUser);
// videoRouter.js
const videoRouter = express.Router();
const handleWatchVideo = (req, res) => res.send("Watch Video");
videoRouter.get("/watch", handleWatchVideo);
여기에서는 handle 함수가 하나밖에 없어서 상관없지만
일반적인 사이트에서는 middleware 가 여러개 있을 것이다. 따라서? controller 도 다른폴더로 관리해주면 편하다!
src/controllers 폴더에 관리하자!