·라우팅은 사용자의 요청 경로를 보고 이 요청을 처리할 수 있는 곳으로 기능을 전달
-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 |