본문 바로가기



Nodejs ex05: 라우터 컨트롤러 연계



안녕하세요. 각성한 데브키라입니다. nodejs에서 라우터와 Controller를 이용한 화면호출 예제입니다.

사용자 접속 시 라우터에서 controller를 호출 후 controller에서 페이지출력 처리를 해보겠습니다.  

ex05 - 라우터와 컨트롤러를 연계한 페이지 호출

  • 라이터를 사용하지 않고 app.js에서 index.ejs를 호출합니다.

[ 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 member = require("../db/memberDAO")
const index = (req, res) => {
    console.log("member => ", member)
    res.render("index")
}
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;

[ views/index.ejs ]

index

결과) 터미널에서 npx supervisor app로 app.js파일을 실행후 브라우져에서 접속한 결과 입니다.

 

gitHub 소스코드 - ex05 참조

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

[Youtube]

https://youtu.be/eU0BwAhQ6aY?si=A7i7TgsIORIGgoVV 

 

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