[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/WEB

Node.js - express Router

inu 2020. 10. 13. 15:33
반응형

Routing

  • 새로운 주소가 추가될 때마다 하나의 파일에서 계속 코드를 추가해준다면 코드가 굉장히 복잡하고 관리가 어려워질 것이다.
  • 따라서 Router라는 모듈을 이용해 특정 주소 패턴별로 파일을 따로 만들도록 한다.
  • 우리는 /admin과 /admin/products 주소에 대한 요청을 만들것이고, admin으로 통하는 URI를 관리하는 파일을 따로 만들어 볼 것이다.

  • 프로젝트 폴더 최상위에 routes 폴더를 만든다. 그리고 admin.js 파일을 생성해 해당 파일에 관련 정보를 작성한다.
const express = require('express')
const router = express.Router()
// express 패키지의 Router를 가져온다.

router.get('/', (req, res) => {
    res.send('admin 이후 url');
})

router.get('/products', (req, res) => {
    res.send('admin products');
})

module.exports = router;
  • 우리는 이 때 express의 Router를 활용할 것이다. 마지막엔 불러온 router를 exports해주어야 한다.
  • 기존에 사용하던 메인 코드파일도 조정해줘야 한다.
const express = require('express')
const app = express();
const port = 3000;

const admin = require('./routes/admin')
// routes 폴더의 admin파일을 불러온다

app.get('/', (req, res) => {
    res.send('hello express');
});

app.use('/admin', admin)
// /admin이 포함된 주소는 admin(router객체)을 참조하도록 한다.

app.listen(port, () => {
    console.log('Express listening on port', port)
})
  • 먼저 require로 routes 폴더의 admin파일 정보를 객체로 가져온다.
  • 그리고 app.use('/admin', admin)로 admin이 포함된 주소는 admin 객체를 확인하도록 한다.

  • 정상적으로 라우팅에 성공했음을 알 수 있다.
반응형

'🛠 기타 > WEB' 카테고리의 다른 글

Node.js - express 미들웨어  (0) 2020.10.14
Node.js - express view engine (Nunjucks)  (0) 2020.10.13
Node.js - nodemon  (0) 2020.10.13
Node.js - express 시작  (0) 2020.10.13
Node.js - 설치 / NPM  (0) 2020.10.12