#4.0 What are Routers?

jini.choi·2022년 6월 27일
0

유튜브 클론코딩

목록 보기
13/27

#4.0 What are Routers? ~ #4.1 Making Our Routers


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

Router 생성(지저분ver.)

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);
profile
개발짜🏃‍♀️

0개의 댓글