<Express.js> controller

김민석·2021년 1월 4일
0

YouTube clone

목록 보기
11/54

Controller는 어떤 동작을 할지 결정해주는 함수인데요.
MVC pattern에서 Controller는 각 Model마다 필요합니다. 지금 진행중인 프로젝트인 유튜브 클론 같은 경우에는 크게 User와 Video 2가지 모델이 있다고 볼 수 있습니다. 따라서 controller 2개를 만들어보겠습니다.

project

이번 controller작업은 globalRouter에 해당하는 작업만 이루어집니다. userRouter와 videoRouter에 해당하는 controller도 각자 해주셔야합니다.

youtube
 +|controllers
   +|videoController.js
   +|userController.js
  |routers
   *|globalRouter.js

videoController.js

videoController에서 각 함수들을 모두 export해주어야 합니다.

export const home = (req, res) => res.send("Home");
export const search = (req, res) => res.send("Search");

userController.js

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");

globalRouter.js

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);
profile
누구나 실수 할 수 있다고 생각합니다. 다만 저는 같은 실수를 반복하는 사람이 되고 싶지 않습니다. 같은 실수를 반복하지 않기 위해 기록하여 기억합니다.🙃

0개의 댓글