미들웨어?
- express에서 기본으로 제공을 한다. express객체에서 꺼내 바로 사용할 수 있다.
- 요청(req)과 응답(res) 사이에 위치해서 미들웨어라고 부른다.
- 요청이 들어옴에 따라 응답까지의 중간 과정을 함수로 분리한 것이다.
- 미들웨어는 req, res, next가 매개변수인 함수이다.
- 서버와 클라이언트를 이어주는 중간 작업인 셈이다.
- 서버와 클라이언트가 양 쪽 끝에 있고 이들이 요청과 응답을 할 때 그 중간에 미들웨어가 있다. 미들웨어를 중간지점으로 양 쪽의 데이터를 주고 받을 수 있다.
- 이 과정에서 요청과 응답에 대한 정보를 사용하거나 기능을 추가하거나 등의 작업을 한다.
use()
를 이용해 등록할 수 있다.app.set("view engine", "ejs");
app.use("/static", express.static(__dirname + "/static"));
app.use("/public", express.static(__dirname + "/static"));
Express/static/index.html
Express/public/css/style.css
http://localhost:8000/index.html
http://localhost:8000/css/style.css
💡 미들웨어와 express
- 미들웨어는 express의 핵심이다.
- 웹 프레임워크는 반복해서 자주 해야 하는 동작들을 미리 처리해두고 필요할 때 사용하는 특징을 가지고 있다고 한다.
- 집의 뼈대는 기본적으로 층 수를 나누거나 방구조를 나누거나하는 동작들이 기본으로 필요하기 때문에 이것들을 미리 처리해두는걸로 생각하기로 했다.
- express같은 웹 프레임워크는 보통 미들웨어로 운영된다.
- 프레임워크의 위치가 웹 상의 http와 node.js플랫폼 사이이기 때문
미들웨어 **static**
- 정적파일을 모아놓는 폴더이다.
- img, scc, js(front)와 같은 정적 파일
static
메소드를 이용해 미들웨어로 로드할 수 있다.
app.use("/static", express.static(__dirname + "/static"));
💬
- 미들웨어에 대해 짧게 넘어가서 복습을 하면서 구글링을 했다. 새로운 개념이 마구마구 뻗쳐나왔다. 일단 미들웨어가 요청과 응답 사이에서 무언가를 해준다는거 까지는 알겠다. 더 디테일하게 굴러가는게 궁금하다.