Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[Express] 6. Controller 본문

대딩코딩/웹개발 스터디

[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를 만들었다고 볼 수 있음

'대딩코딩 > 웹개발 스터디' 카테고리의 다른 글

[Express] 8. View의 확장  (1) 2023.12.01
[Express] 7. Read Topic  (1) 2023.12.01
[Express] 5. Model  (0) 2023.12.01
[Express] 4. View  (0) 2023.12.01
[Express] 3. Template과 DB연결  (1) 2023.12.01