반응형
목표
현업에서는 라우트 개수가 1000개 2000개로 엄청 많다. 이를 정리하는 테크닉을 배우자.
(1) 주소체계 변경
(2) 파일로 분리 <-홈 분리하기
main.js
var express = require('express');
var app = express();
var fs = require('fs');
var bodyParser = require('body-parser');
var port = 3000;
var compression = require('compression');
var indexRouter = require('./routes/index');
var topicRouter = require('./routes/topic');
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(compression());
app.get('*', function(request, response, next) {
fs.readdir('./data', function(err, filelist){
request.list = filelist;
next();
});
});
app.use('/', indexRouter);
app.use('/topic', topicRouter);
app.use(function(req, res, next){
res.status(404).send('sorry cant find that!');
});
app.use(function(err, req, res, next){
console.error(err.stack);
res.status(500).send('something broke!');
});
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`))
routes>index.js
var express = require('express');
var router = express.Router();
var template = require('../lib/template');
// 1. 홈 페이지
// app.get('/', (req, res) => { res.send('Hello World!')})
router.get('/', function(request, response){
var title = 'Welcome';
var description = 'Hello, Node.js';
var list = template.list(request.list);
var html = template.html(title, list,
`<a href="/topic/create">create</a>`,
`<h2>${title}</h2>${description}
<img src="/images/hello.jpg" style="width:300px"; display:block; margin-top: 10px;>`
);
response.send(html);
});
module.exports = router;
반응형
'Back-End > Node.js' 카테고리의 다른 글
Express - 16. express generator (0) | 2020.09.08 |
---|---|
Express - 15. 보안 (0) | 2020.09.08 |
Express - 14.2. 라우터 - 파일로 분리 (0) | 2020.09.08 |
Express - 14.1. 라우터 - 주소체계변경 (0) | 2020.09.08 |
Express - 13. 에러처리 (0) | 2020.09.08 |