일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- https://velog.io/@velopert/create-typescript-react-component
- 출처 : https://webdir.tistory.com/506
- 출처 : https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
- object
- toString
- http://jeonghwan-kim.github.io/dev/2019/06/25/react-ts.html
- 게시판
Archives
- Today
- Total
Back Ground
NodeJS - Router 사용해 요청 라우팅하기 [ES5] 본문
Router
Express 4 에서는 Router 미들웨어가 포함되어 있다.
Router 객체를 참조한 후 route() 메소드를 이용해 라우팅하는 방법인데.
1 2 | var router = express.Router(); router.route('/process/login').post(function(req, res) { | cs |
get(callback) |
GET 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다. |
post(callback) |
POST 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다. |
put(callback) |
PUT 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다. |
delete(callback) |
DELETE 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다. |
all(callback) |
모든 요청 방식을 처리하며, 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다. |
HTML
1 | <form method="post" action="/process/login"> | cs |
form을 action를 지정해 준후
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | var http = require('http') , express = require('express') , static = require('serve-static') , bodyParser = require('body-parser') , path = require('path'); var app = express(); app.use(bodyParser.urlencoded({extended: false})); app.use('/public',static(path.join(__dirname, 'public'))); var router = express.Router(); //form에 action="/process/login"으로 Mapping router.route('/process/login').post(function(req,res){ console.log("미들웨어 1"); //post를 먼저 확인 후 get에서 찾는다. var pId = req.body.id || req.query.id; var pPw = req.body.pw || req.query.pw; res.writeHead('200',{"Content-Type":"text/html; charset=utf-8"}); res.write('post 이다 : '+ '<br>'); res.write('ID : '+pId+ '<br>'); res.write('PW : '+pPw+ '<br>'); res.write('<a href="public/login2.html">로그인</a>'); res.end(); }); app.use('/',router); //index나 에러 메세지 보낼때 기본 패스 처리 //get post 둘다 이곳에서 처리하게 한다. app.all('*',function(req,res){ res.status(400).send('페이지를 찾을수 없습니다.'); }); //put/delete는 쓰지않는다. (해킹할때 공격대상이 될수있다.) http.createServer(app).listen(3000,function(){ console.log('서버 기동'); }); | cs |
var router = express.Router();
express에 있는 router를 사용한다.
router.route('/process/login')
router.route <- 라우터에 라우트에 Path를 지정해준다.
router.route('/process/login').post(
.post()를지 .get()을 할지 정하면 된다.
.post(function(req,res) 는
use와 다르게 next() 매개변수가 없다! 주의 하기
만약 따로 path를 지정 하지않았을때 라면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | var http = require('http') , express = require('express') , static = require('serve-static') , bodyParser = require('body-parser') , path = require('path'); var app = express(); app.use('/public',static(path.join(__dirname, 'public'))); //body-parser를 사용하겠다는 모듈 app.use(bodyParser.urlencoded({extended: false})); // /public가 패스를 못 찾으면 이쪽으로간다. app.use(function(req,res,next){ console.log("미들웨어 1"); // var pId = req.query.id; // var pPw = req.query.pw; //post를 먼저 확인 후 get에서 찾는다. var pId = req.body.id || req.query.id; var pPw = req.body.pw || req.query.pw; res.writeHead('200',{"Content-Type":"text/html; charset=utf-8"}); res.write('post 이다 : '+ '<br>'); res.write('ID : '+pId+ '<br>'); res.write('PW : '+pPw+ '<br>'); res.write('<a href="public/login.html">로그인</a>'); res.end(); }); http.createServer(app).listen(3000,function(){ console.log('서버 기동'); }); | cs |
1 | app.use(function(req,res,next){ | cs |
path없이 접근하게 된다.
'Javascript > Node.js' 카테고리의 다른 글
NodeJS - ES2015+ (0) | 2019.01.18 |
---|---|
NodeJS - RestFul [ES5] (0) | 2018.11.11 |
NodeJS - Static [ES5] (0) | 2018.10.07 |
NodeJS - Request [ES5] (0) | 2018.10.04 |
NodeJS - Express의 요청 객체와 응답 객체 [ES5] (0) | 2018.09.20 |
Comments