·분리한 라우팅에서 컨트롤러를 다시 분리

 -라우터는 해당 경로에 들어왔을 때 사용자의 요청을 연결해주는 부분

 -실제로 요청에 해당하는 기능을 수행하는 부분이 Controller(res.render() 부분)

 -Controller는 MVC 설계 패턴 중 C에 해당

 

1) 라우팅을 분리해놓은 폴더 안에 컨트롤을 분리할 파일을 새로 생성

2) 새로 만든 파일에 원래 라우터에서 기능을 수행하던 함수를 잘라내어 붙여넣고, 라우터에서 함수부분에는 임의의 함수 이름을 대신 작성

// index.js
"use strict";

const express = require("express");
const router = express.Router();

// home.ctrl.js에서 넘겨준 오브젝트 받기
const ctrl = require("./home.ctrl");

router.get('/', ctrl.hello); // hello는 "/" 경로로 접속했을 때 수행할 기능의 함수 이름
router.get('/login', ctrl.login); // login는 "/login" 경로로 접속했을 때 수행할 기능의 함수 이름

module.exports = router;
// home.ctrl.js
"use strict";

const hello = (req, res) => {
  res.render("home/index");
});

const login = (req,res) => {
    res.render('home/login');
};

// index.js에서 사용할 수 있도록 오브젝트로 빼주기
// 오브젝트는 원래 key와 value로 되어있는 구조인데 아래와 같이 key 하나만 입력해주면 자체적으로 key와 같은 value를 넣어둠
module.exports = {
  hello, // hello:hello, 과 같음
  login, // login:login, 과 같음
}

 

+ Recent posts