본문 바로가기

코딩/NodeJS

nodejs에서 routes폴더 이용해서 라우터 관리하기

반응형

1. 개요

  • 라우터 여러개 생기면 관리 귀찮음
  • router 폴더에다가 JS파일로 라우터 들을 저장해놓을 수 있음
  • server.js에 JS파일 등록해서 쓰면 됨

2. 설정

  • server.js랑 같은 경로에 routes 폴더 만들기
  • routes 폴더 안에 JS파일 만들기

3. 코드

(1) server.js

// 라우터 가져오는 코드
// app.use는 미들웨어 쓰는 코드
// 미들웨어는 요청과 응답 사이에 실행하는 코드
// URL없이 미들웨어 쓰면 모든 응답과 요청 사이에서 실행
// app.use('/', 미들웨어, function) 형태는 '/'요청왔을대 미들웨어 실행
app.use("/shop", require("./routes/shop"));
  • shop.js라는 파일에다가 라우터 집어넣어둠
  • 경로에 왜 shop.js 아니고 shop이냐고?
  • JS파일에서 JS파일 불러올때는 확장자 안적어도 됨

(2) shop.js

// 라우터 설정 코드
// require는 라이브러리나 다른 파일 가져다 쓰는 문법
var router = require("express").Router();

// 로그인 체크하는 미들웨어 코드
function 로그인했니(요청, 응답, next) {
  if (요청.user) {
    next();
  } else {
    응답.send("로그인안했네");
  }
}

// 여기 있는 모든 URL에 미들웨어 적용 가능
router.use(로그인했니);

// API 코드 작성
router.get("/shirts", function (요청, 응답) {
  응답.send("셔츠파는페이지");
});

router.get("/pants", function (요청, 응답) {
  응답.send("바지파는페이지");
});

// JS파일을 다른 파일에서 가져다 쓰고 싶을때 쓰는 문법
// 여기서 router는 내보낼 변수명임
module.exports = router;
  • router라는 변수를 선언하고 express 라이브러리 사용 설정 해둠
  • 미들웨어도 만들어줄 수 있으니 잘써보시길
  • 마지막에 router변수를 exports시키는 코드도 작성해야 함
반응형