Controller는 어떤 동작을 할지 결정해주는 함수인데요.
MVC pattern에서 Controller는 각 Model마다 필요합니다. 지금 진행중인 프로젝트인 유튜브 클론 같은 경우에는 크게 User와 Video 2가지 모델이 있다고 볼 수 있습니다. 따라서 controller 2개를 만들어보겠습니다.
이번 controller작업은 globalRouter에 해당하는 작업만 이루어집니다. userRouter와 videoRouter에 해당하는 controller도 각자 해주셔야합니다.
youtube
+|controllers
+|videoController.js
+|userController.js
|routers
*|globalRouter.js
videoController에서 각 함수들을 모두 export해주어야 합니다.
export const home = (req, res) => res.send("Home");
export const search = (req, res) => res.send("Search");
videoController와 마찬가지로 각 함수들을 모두 export 해주어야 합니다.
export const join = (req, res) => res.send("Join");
export const login = (req, res) => res.send("Login");
export const logout = (req, res) => res.send("Logout");
controller 파일에서 export한 함수들을 router에서 impor한 후 사용합시다.
import {home, search} from "./controllers/videoController.js";
import {join, login, logout} from "./controllers/userController.js";
import routes from '../routes';
import express from 'express';
const globalRouter = express.Router();
globalRouter.get('/', home);
globalRouter.get(routes.search, search);
globalRouter.get(routes.join, join);
globalRouter.get(routes.login, login);
globalRouter.get(routes.logout, logout);