일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Database
- 웹소켓연결
- 버킷생성
- git
- ChatGPT
- GPT3.5
- java
- gptapi
- class
- 웹소켓연결끊김
- iam사용자
- Express
- 웹소켓재시작
- javascript
- 패키지설치에러
- nvmrc
- aiapi
- openaiapi
- aws
- 클라우드
- 호스팅영역
- 클래스
- 자바
- Github
- db
- gpt3.5turbo
- chatGPTAPI
- nodejs
- gitlab
- 노드버전
Archives
- Today
- Total
IT's Jenna
Express 환경 사용하기 2 - 미들웨어 본문
Express 환경을 사용할 때 반드시 알아야 하는 개념이 미들웨어 함수이다.
이전 포스팅에서 언급한 Express에 대한 개념을 미들웨어를 중심으로 다시 설명하면 아래와 같다.
- Express : 자체적으로 최소한의 기능을 가지고 있는 라우팅 및 미들웨어 웹 프레임워크, Express의 app.js은 일련의 미들웨어 함수 호출로 구성되어 있다.
Express의 app.js 내부에 보면 express에 필요한 모듈들을 모두 require로 불러와서 express라는 변수에 넣어준다.
Express 모듈에는 router, json 등 웹 앱을 구성하는데 필요한 method들이 모여있다. express()는 express모듈에서 export 된 최상위 함수이다.
var express = require('express')
var app = express()
나중에 router를 설정할 때는 아래와 같이 router() 함수를 불러서 설정한다.
var router = express.Router();
미들웨어 함수란?
- Server와 Client사이에서 요청, 응답을 처리하는 함수
미들웨어 함수의 구성
- 아래의 그림에서 미들웨어 함수는 function 이하 부분이다.
- 미들웨어 함수는 클라이언트의 요청, 서버의 응답, 다음 미들웨어 함수를 동작시킬지의 여부 이렇게 3개의 인수로 구성되어 있다.
미들웨어 함수 사용법
- 함수 작성 후, app.use(function name)을 입력하거나, 위 구성처럼 app.method의 callback함수로 사용할 수 있다.
- 미들웨어 함수에 next()를 넣어주면 해당 미들웨어 동작후 다음 미들웨어도 동작하게끔 만들어준다
- 단 같은 라우팅 주소로 연결된 미들웨어끼리 연결된다.
- next()가 들어있지 않은 경우 해당 미들웨어 함수에서 동작은 종료된다.
- 미들웨어 함수는 스크립트 위에서부터 순차적으로 진행되기 때문에 순서에 주의하며 사용해야 한다.
var myLogger = function (req, res, next) {
console.log('LOGGED');
next(); // 다음 미들웨어 함수로 이동
};
app.use(myLogger);
app.get('/', function (req, res) {
res.send('Hello World!'); //미들웨어 종료
});
<참고>
'Backend > Backend 기본' 카테고리의 다른 글
Injection attak (0) | 2021.01.23 |
---|---|
Express 환경 사용하기 3 - 라우팅 (0) | 2021.01.20 |
Express 환경 사용하기 1 (0) | 2021.01.18 |
NodeJS 사용 시 필요한 패키지 및 사이트 (0) | 2021.01.13 |
Server 2 (0) | 2021.01.13 |
Comments