반응형
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 |