routes 폴더의 index.js 파일
const express = require("express");
const router = express.Router();
const userRouter = require("./userRouter");
const postRouter = require("./postRouter");
router.use("/users", userRouter.router);
router.use("/posts", postRouter.router);
module.exports = router;
const express = require("express");
=Express.js의 모듈을 가져 온다.
const router = express.Router();
=express.Router()를 호출하여 새로운 라우터 인스턴스를 생성 한다.
(라우터 인스턴스란 새로운 라우터 객체를 만드는 것을 의미한다.)
const userRouter = require("./userRouter");
const postRouter = require("./postRouter");
=userRouter.js파일에서 'router' 객체를 가져온다.
router.use("/users", userRouter.router);
router.use("/posts", postRouter.router);
='/users' 경로에 대한 라우팅을 'userRouter'로 전달한다.
'use'메서드는 해당 경로에 대한 미들웨어나 하위 라우터를 등록하는 데 사용한다.
예를 들어 포스트맨에서 GET요청으로 '로컬호스트주소/posts/~' 가 들어가면
postRouter로 전달되도록 설정하는 것이다.
module.exports = router;
= 정의한 라우터를 모듈로 내보낸다.
이를 통해 다른 파일에서 'require'를 사용하여
이 라우터를 가져와서 사용 할 수 있다.
routes 폴더의 postRouter.js 파일
const express = require("express");
const postController = require("../controllers/postController");
const router = express.Router();
router.post("", postController.createPosts);
router.get("", postController.getPosts);
router.patch("/:postId", postController.modifyPosts);
router.delete("/:postId", postController.deletePosts);
router.post("/like/:userId/:postId", postController.postsLikes);
module.exports = {
router,
};
const express = require("express");
= require("express"); Express.js 모듈을 가져 온다
const postController = require("../controllers/postController");
= postController 객체를 가져 온다.
이 객체는 '/posts' 경로에 대한 요청을 처리하는 컨트롤러 함수들을 포함한다.
const router = express.Router();
=expresss.Router() 를 호출하여 새로운 라우터 인스턴스인'router'를 생성 한다.
이를 통해 '/posts' 경로에 대한 라우팅을 정의 할 수 있다.
router.post("", postController.createPosts);
router.get("", postController.getPosts);
router.patch("/:postId", postController.modifyPosts);
router.delete("/:postId", postController.deletePosts);
router.post("/like/:userId/:postId", postController.postsLikes);
=router.(post, get, patch, delete..등 내가 원하는 사용 용도로 넣는다)
그런 다음 "/엔드포인트"를 설정해 주고, 그다음 단계인 컨트롤러로 가기 위해,
postController.~~ 내가 원하는 기능이 있는 곳으로 들어가도록 해준다.)
module.exports =
{ router };
= 정의한 라우터를 모듈로 내보낸다. 다른 파일에서 이 모듈을 가져올 때,
'require'를 사용하여 'router' 객체에 액세스 할 수 있다.