반응형

express 모듈의 페이지 라우팅 기능

  • express 모듈의 router 미들웨어를 사용하면 페이지 라우팅 구현 가능
  • get, post, put, delete 등의 메서드가 있는데 get을 사용한 예제
var express = require('express');
var app = express();

app.get('/a', function(req, res){
   return res.send('aaa');
});

app.listen(52273, function() {
   console.log('Server Running at http://127.0.0.1:52273');
});

결과

활용 1. json 등 다른 형태로도 전송 가능

app.get('/a', function(req, res) {
   return res.json({message1:'a', message2:'b'});
});

활용 2. params 속성

app.get('/page/:num', function(req, res) {
   return res.send(req.params.num + ' page');
});

활용 3. query 속성

app.get('/user', function(req, res) {
   return res.send(req.query);
});

활용 4. router 모듈화

  • 위에 2, 3번은 모두 main.js에서 처리함
  • 만약 프로젝트가 커졌을 때, 한 파일에서 모두 처리하려면 코드도 길어지고 복잡해짐
  • 이를 해결하기 위해 router을 모듈화 시키는 방법
  • http://127.0.0.1:52273/main => 이 주소이면 'main' 전송
  • http://127.0.0.1:52273/user/~ => 이런 식의 주소이면 user router로 전송
  • http://127.0.0.1:52273/page/~ => 이런 식의 주소이면 page router로 전송
  • user.js와 page.js 파일 생성 후 다음과 같이 입력
// main.js
var express = require('express');
var app = express();

app.get('/main', function(req, res) {
   return res.send('main');
});

var user = require('./user.js');
var page = require('./page.js');
app.use('/user', user);
app.use('/page', page);

app.listen(52273, function() {
   console.log('Server Running at http://127.0.0.1:52273');
});
// user.js
var express = require('express');
var router = express.Router();

router.get('/', function(req, res) {
    return res.send(req.query);
});

module.exports = router;
// page.js
var express = require('express');
var router = express.Router();

router.get('/:num', function(req, res) {
    return res.send(req.params.num + ' page');
});

module.exports = router;

 

반응형

↓ 클릭시 이동

복사했습니다!