티스토리 뷰

Server/Node.js

[Node.js] router 폴더와 파일로 API 관리

공부하는 승승 2023. 7. 20. 00:21

디렉토리 구조

 

1. 라우터 파일 생성 및 관리

routes란 폴더 생성 > 라우터 파일 생성(ex. shop.js)

 

<shop.js>

var router = require('express').Router(); // npm으로 설치한 express 라이브러리의 Router()란 함수 사용

router.get('/shirts', function (요청, 응답) {
    응답.send('셔츠 파는 페이지입니다.');
});
router.get('/pants', function (요청, 응답) {
    응답.send('바지 파는 페이지입니다.');
});

// 자바스크립트 파일을 다른 파일에서 사용하고 싶을 때
module.exports = router;

 

<server.js>

/* server.js에 shop.js 라우터 첨부하기 */
app.use('/shop', require('./routes/shop.js'));
// '/shop' 경로로 사용자가 요청했을 때 `require('./routes/shop.js')`이런 미들웨어(= 라우터)를 적용해줌

 

 

2. 특정 라우터 파일에 미들웨어 적용

// 페이지 이동 전 실행할 미들웨어
function 로그인했니(요청, 응답, next) {
    if (요청.user) {
        next();
    } else {
        응답.send('로그인안함');
    }
}

// 일일이 적용하면 번거로움) router.get('/shirts', 로그인했니, function (요청, 응답) {
/* 특정 라우터 파일에 미들웨어 적용 */
router.use(로그인했니);

/* 특정 URL에만 미들웨어 적용 */
// router.use('/shirts', 로그인했니);

router.get('/shirts', function (요청, 응답) {
    응답.send('셔츠 파는 페이지입니다.');
});
router.get('/pants', function (요청, 응답) {
    응답.send('바지 파는 페이지입니다.');
});

 

 

댓글