프로그래밍/Node.js
Node.js) Express 미들웨어 4 (라우터를 분리하는 방법)
이불이!
2019. 4. 26. 01:16
728x90
왜 indexRouter와 usersRouter를 나눌까 ?
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |
그 이유는 나중에 서비스 규모가 점점 커지면 라우터의 규모도 점점 커진다.
라우터를 미리 나누지 않으면 파일 하나가 길어지기 때문이다. 별 이유없음..ㅋ
지금 라우터를 분리하는 법에 대해 알아보려 한다.
app.js
기존에 app.get 라우팅을 분리하였다.
//indexRouter모듈 추가
const express = require('express') ;
const logger = require('morgan') ;
const cookieParser = require('cookie-parser') ;
const session = require('express-session') ;
const flash = require('connect-flash') ;
const path = require('path') ;
const indexRouter = require('./routes/index') ; //모듈 추가
const usersRouter = require('./routes/users') ; //모듈 추가
const app = express() ;
app.use(logger('dev')) ;
app.use(express.urlencoded({ extended: false })) ;
app.use(cookieParser('secret code')) ;
resave: false,
saveUninitialized: false,
secret: 'secret code',
cookie: {
httpOnly: true,
secure: false,
},
})) ;
console.log('첫번째 미들웨어') ;
next() ;
}, (req, res, next) => {
console.log('두번째 미들웨어') ;
next() ;
}) ;
app.use('/', indexRouter) ;
app.use('users', usersRouter) ;
module.exports = app ;
//npm i express-session connect-flash 설치
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |
index.js
const express = require('express') ;
}) ;
console.log('세번째 미들웨어') ;
res.send('Hello express') ;
}) ;
}) ;
}) ;
}) ;
}) ;
module.exports = router ;
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |
users.js
var express = require('express');
// GET /users/
console.log('네번째 미들웨어') ;
res.send('Hello users') ;
}) ;
// DELETE /users
router.delete('/users', (req, res) => {
}) ;
module.exports = router;
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |
그 중 users로만 가는 것을 또 분리하였다.