스터디코딩
[node.js/express] 라우터 분리하기 본문
var router = express.Router();
router.get('/r1',function(req, res){
res.send('Hello /p1/r1');
})
router.get('/r2',function(req, res){
res.send('Hello /p1/r2');
})
app.use('/p1',router);
별도의 파일로 분리
var p1 = require('./routes/p1'); //경로의 파일을 요청
app.use('/p1',p1); // '/경로' 로 들어오면 p1에 매칭
//main.js
var express = require('express');
var route = express.Router();
route.get('/r1',function(req, res){
res.send('Hello /p1/r1');
})
route.get('/r2',function(req, res){
res.send('Hello /p1/r2');
})
module.exports = route;
//routes/p1
고립된 상태
위의 방식에서는, main.js에서 만들어진 어떤 정보나 로직을 p1.js에서 사용할 수 없다.
var p1 = require('./routes/p1')(app);
app.use('/p1',p1);
//main.js
- require를 통해 가져온 것은 함수 -> 함수를 호출할때 app 객체 전달.
module.exports = function(app){
var express = require('express');
var route = express.Router();
route.get('/r1',function(req, res){
res.send('Hello /p1/r1');
})
route.get('/r2',function(req, res){
res.send('Hello /p1/r2');
})
app.get('/p3/r1',function(req,res){
res.send('Hello /p3/r1');
})
return route;
}; //라우트가 직접전달 되는것이 아니고 함수로 만드는 것.
'nodejs' 카테고리의 다른 글
[node.js / s3] node 백엔드에서 s3로 이미지 업로드(multer) (0) | 2022.02.17 |
---|---|
[Node.js] Request param,query, body 의 차이점 (0) | 2021.12.04 |
[Express] (0) | 2021.12.02 |
Nodejs에서 동기와 비동기 1 (0) | 2021.11.28 |
javascript 3 (0) | 2021.11.28 |
Comments