Express는 자체적인 최소한의 기능을 갖춘 라우팅 및 미들웨어 웹 프레임워크이며, Express 애플리케이션은 기본적으로 일련의 미들웨어 함수 호출이다.
미들웨어 함수는 요청 오브젝트(req)과 응답 오브젝트(res)의 요청-응답 주기 사이에 실행되어 처리되는 함수에 대한 엑세스를 갖는다.
// cors REST API 요청할 수 있는 주소를 제한 하는 것이다.
app.use(
cors({
origin: "*",
})
);
// helmet 헤더를 보호하는 것
app.use(helmet());
// Express 애플리케이션에서 JSON 형태의 요청(request) body를 파싱(parse)하기 위해 사용되는 미들웨어(middleware)
app.use(express.json());
// HTTP POST 요청의 본문(body)에 인코딩된 데이터를 해석하고, req.body 객체에 채워넣어주는 역할 limit: "700mb"는 json 파일이 700mb까지 받을 수 있다는 것이다.
app.use(express.urlencoded({ extended: true, limit: "700mb" }));
router.use(auth); // 3
router.get("/", (req, res, next) => {
res.send("Hello Router");
}); // 4
//-----------------------------------------
app.use((req, res, next) => {
console.log(`Request ${req.path}`);
next(); // 1
});
app.use("/admin", router); // 2