안녕하세요. 각성한 데브키라입니다. 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' 카테고리의 다른 글
Nodejs ex08: 쿠키를 이용한 팝업창 특정시간 뜨지 않도록 설정하는 예제 (1) | 2024.05.01 |
---|---|
Nodejs ex07: 파라메타 전송 리다이렉트 로그인처리 (0) | 2024.05.01 |
Nodejs ex05: 라우터 컨트롤러 연계 (0) | 2024.05.01 |
Nodejs ex03 ex04: Router를 사용한 페이지 출력 (0) | 2024.05.01 |
Nodejs ex02: EXPRESS 및 EJS설정 (0) | 2024.05.01 |