Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- HTML
- react
- Python
- CSS
- Til
- ๋๋ฆผ์ฝ๋ฉ
- JS
- ๋ชจ๊ฐ์ฝ
- ์ฝ๋ฉ์ ํ
- ํ๋ก ํธ์๋
- node.js
- ํ ์ดํ๋ก์ ํธ
- ์ฝ๋ฉํ ์คํธ
- javascript
- ๋ฐฑ์ค
- heapq
- fe
- ์๊ณ ๋ฆฌ์ฆ
- ํ์ด์ฌ
- ๊ฐ๋ฐ
- ํฌ๋กค๋ง
- error
- ๊ตญ๋น์ง์
- ํ๋ก๊ทธ๋๋จธ์ค
- KDT
- mongodb
- ํ๋ก์ ํธ
- ๋ ธ๋ง๋์ฝ๋
- ๊ทธ๋ฆฌ๋
- ์ฝ๋ฉ
Archives
- Today
- Total
๐ฑ → ๐ณ
middleware๋? ๋ณธ๋ฌธ
728x90
๐ middleware๋?
- (์ฌ์ ์ ์๋ฏธ) ์๋ก ๋ค๋ฅธ ์ดํ๋ฆฌ์ผ์ด์ (ํ๋ก๊ทธ๋จ)์ด ์๋ก ํต์ ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด
- ์ฆ, ์์ชฝ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ์ด๋ฐ์์ ์ญํ ์ ํ๋ ์ํํธ์จ์ด
- Express: ๋ฒก์๋ ์๋น์ค ๊ตฌ์ฑ์ ์ํ ๋ค์ํ ์ํฉ์ ๋ง๋ ์ฌ๋ฌ๊ฐ์ง ์๋น์ค๋ฅผ ๋ฏธ๋ค์จ์ด ํํ๋ก ์ ๊ณต
- Express ์์์ ๋ฏธ๋ค์จ์ด๋ ์๋ฒ์ ๋ค์ด์จ ์์ฒญ์ด ๋ค์ด์์ ์๋ต์ผ๋ก ๋๊ฐ ๋ ๊น์ง ๊ฑฐ์น๋ ๋ชจ๋ ํจ์ ๋๋ ๊ธฐ๋ฅ์ ์๋ฏธ
- ์์ฒญ -> ๋ฏธ๋ค์จ์ด -> ์๋ต
โ middleware ์ฌ์ฉํ๊ธฐ
- Express ์์๋ app.use ๋๋ app.method ํจ์๋ฅผ ์ด์ฉํด์ ๋ฏธ๋ค์จ์ด ์ฌ์ฉ
- ๊ธฐ์กด์ ํจ์๋ฅผ ์ ์ธํ์ฌ ์ฌ์ฉํ๋ ๊ฒ ์ฒ๋ผ, ์์ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ req, res ์ ๋ํ ์ฒ๋ฆฌ
app.use(‘์์ฒญ ์ฃผ์‘, (req, res, next) => {});
๐ next
: callback ํจ์๋ก์ ํด๋น ํจ์๊ฐ ํธ์ถ ๋๋ฉด ํ์ฌ ๋ฏธ๋ค์จ์ด๋ฅผ ์ข ๋ฃํ๊ณ ๋ค์ ๋ฏธ๋ค์จ์ด๋ฅผ ์คํ
- next ๋ฅผ ์์ฉํด์ ๋ค์ ๋ฏธ๋ค ์จ์ด๋ฅผ ์คํ ์ํฌ ๋, ์ด์ ๋ฏธ๋ค ์จ์ด์์ ์ฒ๋ฆฌํ ๊ฐ์ ์ ๋ฌ ํ๊ณ ์ถ์ ๋๊ฐ ๋ฐ์
- global ์์ญ์์ ๋ณ์๋ฅผ ํ๋ ๋ง๋ค์ด์ ์ ๋ฌํด๋ ๋์ง๋ง global ๋ณ์๋ ๋ณดํต ์ฌ์ฉ์ ์ ์ํ๋ ๊ฒ์ด ์ข์
- ๋ณ์๊ฐ ์ธ์ ์ด๋์์ ๋ณ๊ฒฝ์ด ๋์ด ๋ฌธ์ ๋ฅผ ๋ฐ์ ์ํฌ์ง ์์ธก์ด ์ด๋ ต๊ธฐ ๋๋ฌธ
- ์ด๋ด ๋์๋ req ๊ฐ์ฒด์ ํ๋๋ฅผ ์ถ๊ฐํด์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ด ๋ง์ด ์ฌ์ฉ๋จ (์๋ ์ฝ๋ ์ฐธ๊ณ )
const express = require('express');
const app = express();
const PORT = 4000;
app.use('/', (req, res, next) => {
console.log('Middleware 1');
req.reqTime = new Date();
next();
});
app.use((req, res, next) => {
console.log('Middleware 2');
res.send(`Requsted at ${req.reqTime}`);
});
app.listen(PORT, () => {
console.log(`The express server is running at port: ${PORT}`);
});
๐ Promise
fs๋ฅผ ์ด์ฉํ์ฌ promise ์ํฉ ๋ง๋ค๊ธฐ
์ฌ์ฉ์ด ์ง๊ด์ ์ธ Async / Await ์ ์ด์ฉํด์ ๊ตฌํ
const express = require('express');
const fs = require('fs');
const app = express();
const PORT = 4000;
app.use('/', async (req, res, next) => {
console.log('Middleware 1');
req.reqTime = new Date();
req.fileContent = await fs.promises.readFile('package.json', 'utf-8');
next();
});
app.use((req, res, next) => {
console.log('Middleware 2');
console.log(req.fileContent);
res.send(`Requsted at ${req.reqTime}`);
});
app.listen(PORT, () => {
console.log(`The express server is running at port: ${PORT}`);
});
728x90
'Server' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
REST API๋ ? (0) | 2023.05.31 |
---|---|
AWS EC2์ ์ ์ํ๊ธฐ (0) | 2023.05.28 |
์๋ฒ๋ ๋ฌด์์ธ๊ฐ? (1) | 2022.08.25 |