Do it Node.js express를 이용하여 서버 만들기 2편 미들웨어 사용하기

2018. 3. 9. 01:05javascript/node.js

use 미들웨어 사용하기



노드에서는 미들웨어를 사용하여 코드를 순차적으로 실행시킬 수 있습니다.


var http = require('http'),
    express = require('express');

var app = express()
app.set('port',process.env.port || 3000)


http.createServer(app).listen(app.get('port'),function () {
    console.log('포트 3000에 연결되었습니다.')
})

app.use('/',function (req,res,next) {
    res.writeHead('200',{'Content-Type':'text/html;utf-8'})
    res.write('

use middleware

') res.end() })


이코드를 보자면 이전과 달리 아래의 app.use가 추가 되었는데 저코드의 뜻은 url path / 에다가 옆 콜백함수를 등록 한다는 뜻이다. 따라서 아래의 사진과 같이 결과물이 나온다. 그리고 패스를 다르게 등록해주면 다른 주소로 결과가 나온다. 두결과를 서로 다른 패스로 등록해서 사용하겠다.



/ 패스 사용


app.use()의 path를 /middle로 바꾼 것


미들웨어를 연달아서 사용할 수 도있다.

var http = require('http'),
    express = require('express')
var app = express()


http.createServer(app).listen(3000,function () {
    console.log('포트 3000에 연결되었습니다.')
})

app.use('/',function (req,res,next) {
    req.name = "sanghoony";
    next();
})

app.use('/',function (req,res,next) {
   res.writeHead(200, {'Content-Type':'text/html;utf-8'})
   res.write('midlleware: '+req.name)
   res.end()
});




next를 이용하면 다음 .use로 이동한다. 하지만 end로 끝을 내주지 않으면 끝나지 않고 머무르기 때문에 반드시 종료해주기로 한다.