일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javscript
- CLONE
- Flutter
- Mongoose
- pug
- HTML
- backend
- clonecoding
- frontend
- DART
- ES6
- 리액트
- form
- GRID
- node.js
- Component
- nodejs
- NextJs
- express
- heroku
- TypeScript
- API
- CSS
- Session
- ECMAScript
- JavaScript
- graphQL
- MongoDB
- react
- 자바스크립트
- Today
- Total
목록middleware (3)
Enjoy Programming

몽고db를 사용을 위해 mongoose를 사용하던 중 업로드한 파일을 수정시 파일이 있는지 여부를 체크할때 기존 findById로 video객체를 전부 불러와 있는지 확인했다. 그런데~ 더 간단? 하게 확인 할 수 있는 방법이 있는데 바로 Model.exists()를 사용하면 된다. exists() function은 Promise를 return하는데 데이터베이스에 해당 필터와 일치하는 문서가 하나 이상이 있으면 true를 반환하고 아니라면 false를 반환한다. 여기서 filter는 object이다. callback함수도 필요하다고 doc에는 나와있으나 async await을 이용해 콜백없이 사용해본다. 기존 해당 비디오가 있는지 판단후 없다면 오류메세지를 반환하는 코드이다. exists를 사용해서 동일..

필요한 미들웨어들을 설치하기 전에 express에 대한것을 다시 짚고 넘어가자 express 의 주요기능에는 1. 미들웨어 - 함수를 효과적으로 배열하는 미들웨어 스텍 2. 라우팅 - HTTP method로 특정 URL을 방문할 때만 함수가 호출 됨 3. request/ response 에 대한 확장 - response.redirect() or response.sendFile() 처럼 확장 가능 4. 뷰 - 뷰를 사용해서 HTML을 동적으로 랜더링 할 수 있음(pug, ejs등) 먼저 로그를 관리하기 위한 Nodejs의 미들 웨어인 morgan을 설치해보자 npm install morgan 그리고 import morgan from "morgan";으로 임포트 해주고 app.use(morgan("dev")..

middleware에 대해서 알아보자 미들웨어란 간단하게 말하면 클라이언트(유저)에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간에 목적에 맞게 처리를 하는 말하자면 거쳐가는 함수들이라고 보면된다. 미들웨어 함수에 대한 엑세스는 next함수를 이용해 다음 미들웨어로 현재 요청을 넘길 수 있다. 순차적으로 처리하는 것이다. 순서가 매우 중요하다!! 어디에 두고 쓰느냐! 이다. 미들웨어 함수 betweenHome을 만들어 줬다. 매개변수에는 req객체와 res객체 next(다음으로 엑세스할 함수) 그런 다음 라우트에 두개의 함수를 집어 넣어준다. root에 접속하게 되면 handelHome함수를 실행하기전에 betweenHome 미들웨어 함수를 실행 하게 된다. 그럼 콘솔창에 between이 찍히고 ..