·라우팅은 사용자의 요청 경로를 보고 이 요청을 처리할 수 있는 곳으로 기능을 전달

 -app.get함수로 각 경로로의 request에 따른 response를 출력하는 것이 라우터의 역할

 -라우터는 작업 폴더 > routes > home 폴더를 생성하여 그 안에 js파일을 따로 만들어서 관리

 

 1) 작업 폴더 > routes > home > index.js 파일에 라우팅하는 부분을 잘라내어 붙여넣기

 2) 새로 만든 index.js 파일에는 app이 변수로 지정되어 있지 않으므로 새로 변수 router를 지정해주고 함수를 받는 객체 이름도 router로 변경

// index.js
"use strict";

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");
});

// 외부파일(메인 파일인 app.js)에서 사용할 수 있도록 내보내기
module.exports = router;

 

 3) app.js 파일에서는 빠진 라우터 부분 대신 라우팅 파일인 index.js를 받아올 수 있는 코드 작성

// app.js
"use strict";

// 모듈
const express = require("express");
const app = express();
const PORT = 3000;

// 라우팅
const home = require("./routes/home"); // 괄호 안의 경로에 있는 파일(index.js)을 읽어달라는 요청

// view 분리
app.set('views', './views');
app.set('view engines', 'ejs');

// 라우팅 분리
app.use("/", home); // use는 미들웨어를 등록해주는 메소드, index.js의 라우터를 받아옴

app.listen(PORT () => {
  console.log('서버 가동');
});

 

 4) 주소창에 'localhost:3000'과 'localhost:3000/login' 입력하여 서버 확인

'back-end > Javascript' 카테고리의 다른 글

[Node.js] app.listen 모듈화  (0) 2022.11.22
[Node.js] Controller 분리  (0) 2022.11.22
[Node.js] View 분리  (0) 2022.11.20
[Node.js] 서버에 로그인 화면 적용시키기  (0) 2022.11.20
[Node.js] https 서버 띄우기  (0) 2022.11.18

+ Recent posts