일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 번들러
- Call stack
- 로드마크
- 비동기 작업
- debounce
- 이터러블
- 렉시컬 환경
- Lexical environment
- 로컬터널
- 이벤트 루프
- pushstate
- 마이크로태스크
- webpack
- 함수형
- 매클로태스크
- fetch 취소
- JavaScript
- AbortController
- 호출 스택
- localtunnel
- 웹팩
- 유사배열
- 자바스크립트
- relatedTarget
- 클론코딩
- hoisting
- 실행 컨택스트
- 호이스팅
- 넘블
- 화살표 함수
- Today
- Total
내가 보려고 만든 개발 공부 일지
ExpressJS의 use 함수 본문
(일단, express 에서 사용되는 함수를 미들웨어 라고 부른다.
--> 요청과 응답 사이의 중간작업을 해준다는 의미)
예제1)
var app = express(); 일때
App.use( A, B, C ) 이런식으로 use 함수를 쓸수있다. (use 안에 인자로 들어가는 함수를 실행하겠다 라는 의미)
여기서 A 에 url 을 적어주면 해당 url 로 요청이 왔을때 B, C 함수가 차례로 불리게되는것이다.
그리고 B 에서 (req, res, next )=>{ next(); } 와 같이 해줘야 C 가 실행된다.
(next()를 해주지 않는다면 요청은 거기서 영원히 멈추게 될것이다.)
만약 use의 인자 함수가 하나일때 next()를 하면 요청 url 에 매칭되는 다음 함수(미들웨어) 가 실행된다
Next 는 관행적으로 짓는 이름이고, 다음 미들웨어를 가리킨다.
그리고 만약 A 가 url 이 아니고 바로 함수라면, 들어오는 모든 요청에 대해 실행하게 된다.
예제2)
Use 인자로 미들웨어가 app.use((req, res, next)=>{~~}) 가 아니라
app.use((err, req, res, next)=>{~~}) 와 같이 맨앞에 err 인자가 하나더 들어가게되면
이 함수는 에러가 발생했을때만 불리게되는 함수가된다 (에러발생시 여기서 처리)
이를 모르고 처음엔 왜 저게 실행 안되나 계속 삽질했었음 ...
Express 미들웨어 참조 : http://expressjs.com/en/guide/writing-middleware.html
Writing middleware for use in Express apps
Writing middleware for use in Express apps Overview Middleware functions are functions that have access to the request object (req), the response object (res), and the next function in the application’s request-response cycle. The next function is a func
expressjs.com
'다양한 삽질들' 카테고리의 다른 글
keydown 이벤트 한글 중복 입력 현상 (2) | 2021.12.23 |
---|---|
React hooks 에서 useState setter 함수 작동 순서 (0) | 2021.07.04 |