์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์๋ฐ์คํฌ๋ฆฝํธ async await
- ์๋ฐ์คํฌ๋ฆฝํธ ์์
- css position
- ์๋ฐ์คํฌ๋ฆฝํธ promise
- ์๋ฐ์คํฌ๋ฆฝํธ ์ฐ์ฐ์
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- css3
- ์น ๊ฐ๋ฐ ํธ๋ ๋
- ํ๋ก ํธ์๋
- CSS
- ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ์ปจํ ์คํธ
- ์๋ฐ์คํฌ๋ฆฝํธ ์์ฑ์ ํจ์
- ์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค
- html ์ฝ๋
- HTML
- css ํฌ์ง์
- javascript opreators
- javascript
- javascript closure
- ํ๋ก ํธ์๋ ๋ฆฌ์กํธ
- html ์ฃผ์
- ์๋ฐ์คํฌ๋ฆฝํธ ํด๋ก์
- ๋ฆฌ์กํธ ํจ์ํ ์ปดํฌ๋ํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ๋ณต๋ฌธ
- ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๋ฏธ์ค
- javascript opreator
- ์๋ฐ์คํฌ๋ฆฝํธ scope
- ๋ฆฌ์กํธ ๊ฐ๋
- ์ค๋ธ์
- Today
- Total
Multi Developer SuHo
Node js ๋ผ์ฐํฐ(Router)๋? ๋ณธ๋ฌธ
๐๋ชฉ์ฐจ
1. ๋ผ์ฐํฐ(Router)
1-1. ๋ผ์ฐํฐ๋?
1-2. ๋ผ์ฐํฐ๋ฅผ ์ ์ฌ์ฉํ ๊น?
1-3. app ๋ผ์ฐํ vs express.Router ๋ผ์ฐํ
์๋ก
๋จผ์ ์ด ํฌ์คํ
์ ์ฝ๊ธฐ ์ , ๋ผ์ฐํฐ์ ๋ํด ๋ค์ด๋ณด์ ์ ์์ผ์ ๊ฐ์? OSI ๊ณ์ธต์์ 3๊ณ์ธต์ธ ๋คํธ์ํฌ ๊ณ์ธต์์ ํต์ ์ฅ๋น "๋ผ์ฐํฐ" ๋ผ๊ณ ๋ค์ด๋ณด์
ง๋์? ํ์ง๋ง ๋คํธ์ํฌ์์ "๋ผ์ฐํฐ" ๋ ์ํํธ์จ์ด์์ "๋ผ์ฐํฐ"๋ ๋ค๋ฅธ ๊ฐ๋
์ด๋ ์ด๋ฆ์ด ๊ฐ๋ค๊ณ ๊ฐ์ ๊ธฐ๋ฅ์ ๋์ํ๋ค๊ณ ๋ณด์๋ฉด ์๋ฉ๋๋ค. ๊ทธ๋ผ ์ Node js ์์ "๋ผ์ฐํฐ" ๋ฅผ ์์์ผํ๋์ง ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๊ฒ ์ต๋๋ค.
๋ณธ๋ก
1. ๋ผ์ฐํฐ(Router)
1-1. ๋ผ์ฐํฐ(Router)๋?
ํน์ HTTP ์์ฒญ(URL ๊ฒฝ๋ก์ HTTP ๋ฉ์๋)์ ๋ฐ๋ผ ์์ฒญ์ ์ ์ ํ ํธ๋ค๋ฌ ํจ์๋ก ์ ๋ฌํ๋ ์ญํ
1-2. ๋ผ์ฐํฐ๋ฅผ ์ ์ฌ์ฉํ ๊น?
์น ์ฌ์ดํธ์์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฒฝ๋ก์์ ๋ค๋ฅธ ํ๋ฉด ๋๋ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ค์ผ ํ ๋๊ฐ ๋ง์ต๋๋ค. ์ด๋ฅผ ์ํด ๋ผ์ฐํ ์ ๋ถํ ํ์ฌ ์ฒ๋ฆฌํ๋ฉด ์ ์ง๋ณด์๋ ์ฌ์์ง๊ณ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ฌ์ฃผ๋ ํน์ง์ด ์์ต๋๋ค. ์๋ฒ์ ํต์ฌ ๋ก์ง์ ๋ด๋นํ๋ app.js ๊ฐ์ ์ฝ๋์์ ํ๋์ ๋ผ์ฐํ ์ฒ๋ฆฌ๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ผ์ฐํ ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ๋๋ฉด ์ฝ๋๊ฐ ๊ธธ์ด์ง ์ ๋ฐ์ ์๊ณ ์ ์ง ๋ณด์์ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํ์ง ์์์ ๋ถํธ์ ๊ฒช๊ฒ ๋ฉ๋๋ค. ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด Express ๋ด๋ถ์์ ๋ผ์ฐํ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ๋ผ์ฐํฐ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ค๋๋ค.
1-3. app ๋ผ์ฐํ VS Express.Router( ) ๋ผ์ฐํ
๋จผ์ ๊ธฐ๋ณธ์ ์ธ app.js ์์ ๋ผ์ฐํ ์ฒ๋ฆฌ๋ฅผ ํ๋ ์ฝ๋๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send("๋๋ ๋ฉ์ธ")
})
app.get('/test', (req, res) => {
res.send('์ฌ๊ธฐ๋ test')
})
app.post('/', (req, res) => {
res.send("์ฌ๊ธฐ๋ post ์์ฒญ")
})
app.listen(3000, () => {
console.log('์๋ฒ ์๋์ค~~')
})
์ด๋ ๊ฒ ๊ฐ๊ฐ ์์ฒญ ๋ฉ์๋์ ๋ฐ๋ผ ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋ค๋ฅธ ๊ฒฝ๋ก์ ํด๋นํ๋ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ฝ๋๋ฅผ ๋ ์ถ๊ฐํด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๋ณต๋ฉ๋๋ค. ๋ง์ฝ ํ์ด์ง๊ฐ ์ฌ๋ฌ๊ฐ๊ณ , ๊ฐ๊ฐ์ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅด๋ค๋ฉด ์ฝ๋๊ฐ ๊ธธ์ด์ง ์ ๋ฐ์ ์๊ฒ ์ฃ ?
๊ทธ๋ผ ์ด๋ฐ ๋ฐฉ์์ ๋ณด์ํ๊ธฐ ์ํด Express ์์ ๋ผ์ฐํฐ ์ฒ๋ฆฌ๋ฅผ ์ ๊ณตํด์ฃผ๋ Express.Router( ) ๋ฅผ ์ฌ์ฉํ ์ฝ๋๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
router.js ์ฝ๋
ํ์ฌ ์ด ์ฝ๋๋ฅผ ๋ณด๋ฉด express ๋ด๋ถ์์ ๋ผ์ฐํ
๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋ Router() ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ , Get ์์ฒญ์ผ๋ก ๊ฐ ๊ฒฝ๋ก์ ํด๋นํ๋ ejs ํ์ผ์ ํ๋ฉด์ ๋ ๋๋ง ํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฑํ ๋ผ์ฐํฐ ๊ฐ์ฒด๋ฅผ ๋ชจ๋๋ก ๋ด๋ณด๋ด๊ณ ์์ต๋๋ค.
const router = require('express').Router();
console.log(router);
router.get('/', (req, res) => {
res.render('main')
})
router.get('/next', (req, res) => {
res.render('next')
})
router.get('/test', (req, res) => {
res.render('test');
})
module.exports = router;
๋ด๋ณด๋ธ ๋ชจ๋์ app.js ์์ Exprees ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฑ๋กํ๊ณ , ๋ฏธ๋ค์จ์ด๋ก ์ถ๊ฐํ์ฌ ์์ ํ ์ฝ๋
// Express ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ
const express = require('express');
// ๋ผ์ฐํฐ ๋ชจ๋์ ๋ถ๋ฌ์์ Express ์ฑ๊ณผ ์ฐ๊ฒฐ
const router = require('../RouterTest/router/router');
// Express ์๋ฒ ๊ฐ์ฒด ์์ฑ
const app = express();
// ํ
ํ๋ฆฟ ์์ง์ EJS๋ก ์ค์
app.set('view engine', 'ejs');
// ๋ถ๋ฌ์จ ๋ผ์ฐํฐ๋ฅผ ๋ฏธ๋ค์จ์ด๋ก ๋ฑ๋ก (๋ผ์ฐํฐ์์ ์ค์ ํ ๊ฒฝ๋ก๋ค์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค)
app.use('/', router);
// ์์ฒญ ๋ณธ๋ฌธ(body)์ ๋ฐ์ดํฐ๋ฅผ ํด์ํ ์ ์๋๋ก ์ค์
app.use(express.urlencoded({ extended: false }));
// app.get('/', (req, res) => {
// res.send("๋๋ ๋ฉ์ธ")
// });
// app.get('/test', (req, res) => {
// res.send('์ฌ๊ธฐ๋ test')
// });
// app.post('/', (req, res) => {
// res.send("์ฌ๊ธฐ๋ post ์์ฒญ")
// });
//
app.listen(3000, () => {
console.log('์๋ฒ ์๋์ค~~');
});
๊ฒฐ๋ก
๊ธฐ์กด์ ์ฃผ์ ์ฒ๋ฆฌํ ๋ถ๋ถ์ด app.js ์์ ๋ชจ๋ ๋ผ์ฐํฐ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ์์ง๋ง, Express ๋ด๋ถ์์ ์ ๊ณตํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ router ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๋ชจ๋๋ก ๋ด๋ณด๋ด์ app.js ์ ๋ฑ๋กํ์ฌ ๊ฐ๊ฐ ๋ถํ ํ์ฌ ๋ผ์ฐํฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค. ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์๊ฐ ์ฝ๊ณ ๋ผ์ฐํฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ๋ถํ ํ์ฌ ํ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์์์ต๋๋ค.
'Node.js ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Node js [GET ๋ฐฉ์๊ณผ POST ๋ฐฉ์, ์์ฒญ ๊ฐ์ฒด(Requset), ์๋ต ๊ฐ์ฒด(Response) ] (0) | 2025.03.10 |
---|---|
Node js MVC(Model-View-Controller) ํจํด์ด๋? (0) | 2025.03.08 |
Node JS EJS(Embedded JavaScript) ํ ํ๋ฆฟ ์์ง์ ๋ํ์ฌ... (0) | 2025.02.27 |
Node js http ๋ชจ๋์ ํ์ฉํ ๊ฐ๋จํ ์๋ฒ ๊ตฌ์ถ (0) | 2025.02.24 |
Node.js net ๋ชจ๋์ ํ์ฉํ ๊ฐ๋จํ TCP ์๋ฒ ๊ตฌ์ถ (0) | 2025.02.23 |