본문 바로가기



Nodejs ex06: Controller에 Service연결



안녕하세요. 각성한 데브키라입니다. ex05포스팅에서 router로 받아서 controller까지 연결해 보았습니다.

이번 포스팅에서는 controller에서 직접 화면을 출력하지 않고 service까지 연계해서 화면을 출력해 보도록 하겠습니다.

 

[ app.js ]

const express = require("express")
const router = require("./routers/test_router")
const app = express()

app.set("views", "./views")
app.set('view engine', 'ejs');
app.use("/", router)

app.listen(3000, ()=>console.log("3000 port start"))

 

[ touter/test_router.js]

const express = require("express")
const ctl = require("../controller/test_controller")
const router = express.Router()
console.log(ctl.index);
router.get("/", ctl.index)
router.get("/test1", ctl.test1)
router.get("/test2", ctl.test2)
module.exports = router

 

[ controller/test_controller.js ]

const service = require("../service/test_service")
const index = (req, res) => {
    const member = service.index()
    console.log("member => ", member)
    res.render("index", {member})
}
const test1 = (req, res) => {
    res.send("test1 연동")
}
const test2 = (req, res) => {
    res.send("test2 연동")
}

module.exports = {index : index, test1 : test1, test2 : test2}

 

[ db/memberDAO.js ]

const DBMember = [
    {id:"id0a", name:"이제니", addr:"산골짜기"},
    {id:"id0b", name:"아이유", addr:"개똥별"},
    {id:"id0c", name:"안유진", addr:"달나라"},
    {id:"id0d", name:"한소희", addr:"은하수"},
    {id:"id0e", name:"장원영", addr:"별나라"},
]
module.exports = DBMember;

 

[ service/test_service.js ]

const member = require("../db/memberDAO")
const index = () => {
    console.log("service index 실행");
    return member;
}
module.exports = {index} //{index:index} 이름이 동일할때는 {index}로 쓸수있습니다.

 

[ views/index.ejs ]

index<br>
<br>
[ member목록 ]
<hr>
<% member.forEach((d,index)=>{ %>
    id   : <%= d.id %><br>
    name : <%= d.name %><br>
    addr : <%= d.addr %><hr>
<% }) %>

 

결과)

gitHub 소스코드 - ex06 참조

https://github.com/nomadicalphonse/study-nodeJs/tree/master/app

[ 참조 Youtube ]

https://youtu.be/BodAEzI8U_0?si=ni2ItiXa39EtvClE 

 

Nodejs ex01: NodeJs서버실행 후 첫 화면 출력 
Nodejs ex02: EXPRESS 및 EJS설정 
Nodejs ex03 ex04: Router를 사용한 페이지 출력 
Nodejs ex05: 라우터 컨트롤러 연계 
Nodejs ex06: Controller에 Service연결 
Nodejs ex07: 파라메타 전송 리다이렉트 로그인처리 
Nodejs ex08: 쿠키를 이용한 팝업창 특정시간 뜨지 않도록 설정하는 예제 
Nodejs ex09: 쿠키 암호화 예제 

[ NodeJs강좌 전체목록 ]

 

NodeJs: 기초부터 고급까지 실무 적용 완벽 가이드

안녕하세요. 데브키라입니다. 이 시리즈는 Node.js의 기본부터 고급 기술까지 단계별로 다룹니다. 서버 실행, 페이지 라우팅부터 nginx 연동, SSL 설정까지 실무 적용을 목표로 합니다. Node.js의 모든

devkira.alphonse.kr