대딩코딩/웹개발 스터디
[Express] 6. Controller
시데브
2023. 12. 1. 15:18
Controller 분리
controllers/homeController.js 파일 생성
파일명: homeController.js
const homeModel = require('../models/homeModel.js'); //호출문이 포함되는 파일의 디렉토리가 변경됐으니 경로도 변경
module.exports = {
getTopics: async (req, res) => {
const topics = await homeModel.home();
res.render('index.ejs', {topics: topics});
}
}
파일명: main.js
const express = require('express');
const app = express();
const port = 3000;
app.set('view engine', 'ejs');
app.set('views', 'views');
//Controllers
const homeController = require('./controllers/homeController.js')
app.get('/', homeController.getTopics);
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
>> view, model, controller를 모두 분리함으로써 MVC architecture를 만들었다고 볼 수 있음
728x90
반응형