반응형
🔍미들웨어란
미들웨어는 익스프레스의 핵심이다.
- 요청과 응답의 중간(미들 middle)에 위치하여 미들웨어라 부른다.
- 미들웨어는 요청과 응답을 조작하여 기능을 추가하기도 하고 나쁜 요청을 걸러내기도 한다.
app.use(미들웨어) | 모든 요청에서 미들웨어 실행 |
app.use('/abc', 미들웨어) | abc로 시작하는 요청에서 미들웨어 실행 |
app.post('/abc',미들웨어) | abc로 시작하는 POST 요청에서 미들웨어 실행 |
🔍morgan, cookie-parser, express-session, dotenv 설치
dotenv를 제외한 다른 패키지는 미들웨어임. dotenv는 process.env를 관리하기 위해 설치.
<morgan>
app.use(morgan('dev'));
- 인수로는 dev 이외에도 combined, common, short 등을 넣을 수 있다. 인수를 바꾸면 로그가 달라진다.
- 요청과 응답에 대한 정보를 콘솔에 기록함.
- 요청과 응답을 한 눈에 볼 수 있어 편리하다.
<static>
app.use('요청 경로', express.static('실제 경로));
app.use('/', express.static(path.join(__dirname, 'public')));
- 함수의 인수로 정적 파일들이 담겨있는 폴더를 지정.
- 정적인 파일들을 제공하는 라우터 역할 수행.
- 기본적으로 제공되기 때문에 따로 설치할 필요 없이 express 객체 안에서 꺼내 장착하면 됨.
<body-parser>
app.use(exprss.json());
app.use(express.urlencoded({extended: false}));
- 요청의 본문에 있는 데이터를 해석해서 req.body 객체로 만들어주는 역할 수행.
- 보통 폼 데이터 or AJAX 요청의 데이터를 처리함.
<cookie-parser>
app.use(cookieParser(비밀키));
- 요청에 동봉된 쿠키를 해석해 req.cookies 객체로 만드는 역할 수행.
<express-session>
app.use(session({
resave: false,
saveUninitialized: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false,
},
name: 'session-cooke',
}));
- 세션 관리용 미들웨어
- 로그인 등의 이유로 세션을 구현하거나 특정 사용자를 위한 데이터를 임시적으로 저장해둘 때 유용함.
- 세션은 사용자별로 req.session 객체 안에 유지됨.
반응형
'💻 my code archive > 📗Node.js' 카테고리의 다른 글
노드 공부 기록(9) - 몽고디비 설치, 개발 환경 세팅하기 (0) | 2022.04.27 |
---|---|
노드 공부 기록(8) - 시퀄라이즈 사용하기 (0) | 2022.04.27 |
노드 공부 기록(6) - Node.js fs 모듈, 파일 시스템 접근하기, 버퍼와 스트림, 폴더 생성, 삭제, 스레드풀 (0) | 2022.04.18 |
노드 공부 기록(5) - 자주 사용하는 Node.js 내장 모듈 정리 (0) | 2022.04.17 |
노드 공부 기록(4) - Node.js 내장 객체 알아보기, global, console, 타이머, require, process (0) | 2022.04.14 |