JAVASCRIPT

app.get VS router.get

seo dori 2023. 3. 26. 14:06

app.js

var express = require('express'),
    dogs    = require('./routes/dogs'),
    cats    = require('./routes/cats'),
    birds   = require('./routes/birds');

var app = express();

app.use('/dogs',  dogs);
app.use('/cats',  cats);
app.use('/birds', birds);

app.listen(3000);

dogs.js

var express = require('express');

var router = express.Router();

router.get('/', function(req, res) {
    res.send('GET handler for /dogs route.');
});

router.post('/', function(req, res) {
    res.send('POST handler for /dogs route.');
});

module.exports = router;

let app = express() 하나의 app 객체 => main app

let router = express.Router() => 다른 mini app

 

mini app사용이유

경로가 복잡해질 수 있음

코드를 분리가능

각 mini app은 main app 구조가 유사함

/dogs, /cats , /birds는 자체 파일에서 구사를 하면 분리되어 독립적으로 움직이며

한가지 파일이 다른 파일에 영향을 미칠것을 생각을 안해도됨

 

미들웨어를 모든 경로에 적용시키고 싶다면 app.use(..) 호출전에 하면된다.

한개의 경로에만 넣고 싶다면 파일에 넣어 적용가능

 

 

https://stackoverflow.com/questions/28305120/differences-between-express-router-and-app-get