goal
MiddleWare 미들웨어
- Express 프레임워크의 핵심개념
- 요청과 응답의 중간에 있어서 붙여진 이름이라더라
- 요청과 응답을 조작해서, 기능을 추가하거나 bad request를 핸들하는 등의 기능을 수행한다.
- 주로
app.use
와 함께 사용한다.
- app.js 파일을 보면,
app.use( 여기! - 인자로 들어있는 함수가 미들웨어이다 )
- use 메소드를 통해서 app에 장착한다.
- 순서대로 미들웨어를 거친 후에, 라우터에서 클라이언트로 응답을 보낸다.
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use(function(req, res, next) {
next(createError(404));
});
app.use(function(err, req, res, next) {
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
res.status(err.status || 500);
res.render('error');
});
body-parser 미들웨어
const bodyParser = require("body-parser")
cors 미들웨어
- node.js 코드로 CORS 헤더를 붙이려면, 응답 객체의 writeHead 메소드 등을 이용해 일일이 Access-Control-Allow-* 헤더를 정의 및 OPTIONS 메소드에 대한 라우팅도 구현해줘야 했다.
const cors = require("cors")
app.use(cors())
app.get("/id", cors(), (req, res, next) => {})