·분리한 라우팅에서 컨트롤러를 다시 분리
-라우터는 해당 경로에 들어왔을 때 사용자의 요청을 연결해주는 부분
-실제로 요청에 해당하는 기능을 수행하는 부분이 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, 과 같음
}
'back-end > Javascript' 카테고리의 다른 글
[Node.js] 프런트를 위한 자바스크립트 파일 만들기 (0) | 2022.11.28 |
---|---|
[Node.js] app.listen 모듈화 (0) | 2022.11.22 |
[Node.js] 라우팅 분리 (0) | 2022.11.21 |
[Node.js] View 분리 (0) | 2022.11.20 |
[Node.js] 서버에 로그인 화면 적용시키기 (0) | 2022.11.20 |