req
(request 객체), res
(response 객체) 그리고 next
함수에 접근하는 함수를 말합니다.next
함수는 Express
라우터의 함수로, 호출 될 때 현재 미들웨어를 계승하는 미들웨어를 실행합니다.next()
를 호출해야 합니다.Hello World!
을 반환하는 Express 어플리케이션을 작성해 봅시다.myLogger
와 요청한 시간을 출력해주는 requestTime
을 미들웨어로 추가할 것 입니다.var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
app.listen(3000)
myLogger
이고 단순히 “LOGGED”를 출력하는 기능을 합니다.var myLogger = function (req, res, next) {
console.log('LOGGED')
next()
}
app.use()
를 호출해야 합니다.var express = require('express')
var app = express()
var myLogger = function (req, res, next) {
console.log('LOGGED')
next()
}
app.use(myLogger)
app.get('/', function (req, res) {
res.send('Hello World!')
})
app.listen(3000)
requestTime
은 현재시간을 req
객체에 저장합니다.var requestTime = function (req, res, next) {
req.requestTime = Date.now()
next()
}
var express = require('express')
var app = express()
var requestTime = function (req, res, next) {
req.requestTime = Date.now()
next()
}
app.use(requestTime)
app.get('/', function (req, res) {
var responseText = 'Hello World!<br>'
responseText += '<small>Requested at: ' + req.requestTime + '</small>'
res.send(responseText)
})
app.listen(3000)
module.exports = function(options) {
return function(req, res, next) {
// Implement the middleware function based on the options object
next()
}
}
var mw = require('./my-middleware.js')
app.use(mw({ option1: '1', option2: '2' }))
https://expressjs.com/en/guide/writing-middleware.html
자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 - OAuth 2.0 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기
코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!