//---------------------------------------------------------------
// Router 객체로 라우팅 분리하기 (p206)
//---------------------------------------------------------------
// 4.3 절에서 라우터를 만들 때 요청 메서드와 주소별로 분기 처리를
// 하느라 코드가 매우 복잡했음
//
// web.js의 라우팅 부분
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
:
app.use('/', indexRouter);
app.use('/users', usersRouter);
// 특정 주소에 해당하는 요청이 왔을때 미들웨어가 동작함
// 주소가 '/' --> ./routes/index.js 를 실행함
// 주소가 '/users' --> ./routes/users.js 를 실행함
// use 대신 get, post, put, patch, delete
// 같은 HTTP 메서드를 사용할 수도 있음
// use는 주소만 일치하면 실행되는 반면
// get, post 등은 주소와 HTTP메서드까지 일치해야 함
//----------------------------------------------------------------
// routes/index.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
// router.get('/', ... ) : / 주소로 GET 요청한 것
// res.render('index',...) : 템플리트 엔진을 호츨함
//----------------------------------------------------------------
// routes/user.js
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;
// 응답 메서드는 여러 가지가 있지만 주로 send, sendFile, json,
// redirect, render 사용함
// res.send('') : 버퍼 데이터, 문자열, HTML 코드, json 데이터 전송함
//----------------------------------------------------------------
'[B] Node Note' 카테고리의 다른 글
nodejs - sequelize - mysql cafe24 개발환경 구성 (0) | 2019.03.29 |
---|---|
Express 미들웨어(1) (0) | 2019.03.26 |
Express 구조 이해 (0) | 2019.03.26 |
Express-generator 설치하고, cafe24에 적용하기 (0) | 2019.03.26 |