#4.0 What are Routers? ~ #4.1 Making Our Routers
http://expressjs.com/ko/api.html#router
Router는 controller와 URL관리를 쉽게 해줌. 쉽게 말해 미니 어플리케이션을 만들게 해줌
작업중인 주제를 기반으로 URL을 그룹화 해줌
모든 Express 애플리케이션에는 app router가 내장됨
router는 middleware처럼 작동하며 app.use()에 대한 인수로 또는 다른 router의 use()메서드에 대한 인수로 사용할 수 있음.
최상위 express객체는 새로운 router개체를 생성하는 router()메서드가 있음
<!-- global router -->
/ -> Home
/login -> Login
/join -> Join
/search -> Search
global router
<!-- users router -->
/users/edit -> Edit User
/users/delete -> Delete User
<!-- video router -->
/videos/watch -> Watch Video
/videos/edit -> Edit Video
/videos/delete -> Delete Video
/videos/comments -> Comment on a Video
/videos/comments/delete -> Delete a Comment on a Video
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);
//2. 이 라우터 안에는 "/watch"라는 url이 하나 있으면 express가 handleWatchVideo함수를 실행
//3. Watch Video 반환(응답)
const videoRouter = express.Router();
const handleWatchVideo = (req, res) => res.send("Watch Video");
videoRouter.get("/watch", handleWatchVideo);
//1. 라우터가 express한테 누군가 "/videos"로 시작하는 url에 접근하면 express는 videoRouter변수에 있는 컨트롤러를 찾게함
app.use("/", globalRouter);
app.use("/users", userRouter);
app.use("/videos", videoRouter);