앞서 express 서버를 간단하게 만들어 보았다.
하지만, 클라이언트의 요청에 따라 응답할 코드를 일일히 다 한 파일에 작성해 준다면 엄청난 혼란에 빠질 것이다.
이 카오스 상태를 미연에 방지해주는 라우팅 개념에 대해서 알아보자.
// app.js
const express = require('express');
const auth = require('./routes/auth.js');
const users = require('.routes/users.js');
const app = express();
const port = 3000;
app.use('/auth', auth);
app.use('/users', users);
app.listen(port, () => {
console.log('express server listening on port: ', port);
});
// routes/auth.js
const express = require('express');
const router = express.Router();
router.post('/signup', (req, res) => {
console.log('/auth/signup 엔드포인트로 post 요청 시 응답합니다.');
});
router.post('/signin', (req, res) => {
console.log('/auth/signin 엔드포인트로 post 요청 시 응답합니다.');
});
module.exports = router;
// routes/users.js
const express = require('express');
const router = require('router');
router.get('/info' (req, res) => {
console.log('/users/info 엔드포인트로 get 요청 시 응답합니다.')
});
module.exports = router;
routes
폴더를 분리해 모듈화를 해주면, app.js에서 모듈화한 파일들을 불러와 사용할 수 있기 때문에 좀 더 간결한 코드를 작성할 수 있다.