백엔드/node.js
node.js 백엔드 맛보기 강의 영상 정리5.라우팅 분리
피스타0204
2023. 1. 15. 00:52
프로젝트가 커져 라우팅 할 경로가 많아지면 라우팅 분리가 필요해진다.
라우팅할 경로가 많아지면 app.js의 코드가 길어지므로 유지보수가 어려워 질 수 있으므로 route를 분리하기 위해 사용한다.
// "use strict"; //ECMAScript의 문법을 준수하겠다고 명시하는 것
https://wormwlrm.github.io/2018/10/03/What-is-the-difference-between-javascript-and-ecmascript.html
1. router를 분리할 폴더 만들기
2. 루트, 로그인 파싱 코드를 분리한 폴더에 복사해 넣음
router.get("/", (req, res)=>{
res.render("home/index");
})
router.get("/login", (req, res)=>{
res.render("home/login");
})
3. 라우터 모듈을 변수에 저장해준다.
Router 인스턴스는 완전한 미들웨어이자 라우팅 시스템이며, 따라서 “미니 앱(mini-app)”이라고 불리는 경우가 많습니다.
출처 : express 공식문서
라우팅 메서드
"use strict"; //ECMAScript의 문법을 준수하겠다고 명시하는 것
const express = require("express");
const router = express.Router();
4. module.exports = router; 로 외부파일(app.js)과 연결한다.
"use strict"; //ECMAScript의 문법을 준수하겠다고 명시하는 것
const express = require("express");
const router = express.Router();
router.get("/", (req, res)=>{
res.render("home/index");
})
router.get("/login", (req, res)=>{
res.render("home/login");
})
module.exports = router;
//외부로 내보내기
5. app.js에 가서 미들웨어(라우터) 등록
const home = require("./routes/home"); //이 경로에 있는 js를 읽어와줘
app.use("/", home); //use -> 미들웨어 등록 메소드
//여기서는 router연결
6. 정리된 코드
"use strict";
//메인 파일
//모듈
const express = require("express");//require -> 경로 연결 메소드
const app = express();
const PORT = 3000;
//라우팅
const home = require("./routes/home"); //이 경로에 있는 js를 읽어와줘
//view 세팅(앱 세팅)
app.set("views", "./views"); //현재 view 위치
app.set("view engine", "ejs"); //view 엔진 세팅
app.use("/", home); //use -> 미들웨어 등록 메소드
//여기서는 router연결
app.listen(PORT, function()
{
console.log("서버 가동");
});
^app.js