728x90
๋ฐ์ํ
๐ก ์ค์ต ํฌ์ธํธ!
- express ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๊ฒ ์์๋ณด์๋ค.
- node.js ๋ฅผ ๋ฏธ๋ฆฌ ์ค์นํด์ฃผ๊ณ , ํฐ๋ฏธ๋์์ node ๋ผ๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ ์๋ฒ๋ฅผ ๋์๋ณด์๋ค. ( + nodemon)
- ํน์ ํ ๊ฒฝ๋ก๋ก GET ์์ฒญํ๋ ๋ฐฉ๋ฒ์ ๊ณต๋ถํ๋ค.
๐ express ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฒ
- ํฐ๋ฏธ๋์์ npm install express ๋ก express ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ ํ, express ๋ฅผ ์ฌ์ฉํ JavaScript ํ์ผ์ ์๋์ ๊ฐ์ด ์์ฑํ๋ฉด ์๋ฒ๋ฅผ ๋์ธ ์ ์๋ค.
- ์ฒซ ๋ ์ค์ express ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฒจ๋ถํ๊ณ ์ฌ์ฉํ๋ ๋ฌธ๋ฒ์ด๊ณ , app.listen() ์ ์ํ๋ ํฌํธ์ ์๋ฒ๋ฅผ ์ด์ด์ฃผ๋ ๋ฌธ๋ฒ์ด๋ค.
- listen() ํจ์๋ ํ๋ผ๋ฏธํฐ๋ก ์๋ฒ๋ฅผ ์คํํ ํฌํธ๋ฒํธ์ ํจ์๋ฅผ ํ์๋ก ํ๋ค.
- ๋์ ๊ฒฝ์ฐ JavaScript ํ์ผ์ server.js ๋ฅผ, ํฌํธ๋ฒํธ๋ 8080 ์ ์ฌ์ฉํ๋ค.
// express ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฒจ๋ถ
const express = require('express');
// express ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
const app = express();
// listen() ํจ์๋ ๋ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์๋ก ํจ
// listen(์๋ฒ๋ฅผ ์คํํ ํฌํธ๋ฒํธ, function(){์๋ฒ๊ฐ ์คํ๋๋ฉด ์คํํ ์ฝ๋})
app.listen(8080, function(){
console.log('listening on 8080');
})
- ์์ ๊ฐ์ด ์์ฑํ ์ํ์์ ํฐ๋ฏธ๋์ ์ผ ํ, node server.js ๋ฅผ ์ ๋ ฅํ๋ฉด ์๋ฒ๋ฅผ ๋์ธ ์ ์์ผ๋ฉฐ, ์๋ฒ๊ฐ ์ ์์ ์ผ๋ก ๋ด๋ค๋ฉด ๋ธ๋ผ์ฐ์ ์ localhost:8080 ๋ก ์ ์ํ๋ฉด ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
- ๋งค๋ฒ ์๋ฒ๋ฅผ ๋๊ณ ์ผ๊ธฐ๊ฐ ๊ท์ฐฎ๋ค๋ฉด nodemon ์ ์ค์นํด์ ์ฌ์ฉํด๋ณด์.
- ํฐ๋ฏธ๋์ npm install nodemon ์ ์ ๋ ฅํ์ฌ ์ค์นํ ํ, nodemon server.js ์ ๊ฐ์ด ์ ๋ ฅํด์ฃผ๋ฉด ์๋ฒ๋ฅผ ๋์ธ ์ ์๋ค.
- ํ์ผ์ ์์ ํ๊ณ ์ ์ฅํ ๋๋ง๋ค ์๋์ผ๋ก ์๋ฒ๋ฅผ ๋ค์ ๋์์ฃผ๊ธฐ ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ์์ ์๋ก๊ณ ์นจ๋ง ํ๋ฉด ๋๋ค๋ ์ฅ์ ์ด ์๋ค.
๐ GET ์์ฒญ ์ฒ๋ฆฌํด๋ณด๊ธฐ
GET ์์ฒญ์ ์ฃผ์์ฐฝ์ URL ์ ์ ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ๋ฐฉ์์ด๋ฉฐ, ๋ฐ์ดํฐ ์กฐํ์ ์ ํฉํ๋ค.
- ์ฒซ ์
ํ
๊ณผ์ ์ ๋ง์น ํ์ ์ ์์ ์ผ๋ก ์๋ฒ๊ฐ ๋์์ก๋ค๋ฉด ๋ธ๋ผ์ฐ์ ์ ์์ ๊ฐ์ด "Cannot GET /"์ด๋ ๊ฒ ๋ฌ๋ค.
(๋๋๊ฒ๋ ์ด๊ฒ ์ ์์ด๋ค. ์์ง GET ์์ฒญ์ด๋ ๊ฑธ ํ์ง ์์์ผ๋ฏ๋ก!)
// ๋๊ตฐ๊ฐ๊ฐ / ๊ฒฝ๋ก์ ์ ์ํ๋ฉด ( / ํ๋๋ง ์์ผ๋ฉด ํํ์ด์ง์ ํด๋น)
app.get('/', function(req, res){
// 'ํํ์ด์ง์
๋๋ค.' ๋ผ๋ ์๋ด๋ฌธ๊ตฌ๋ฅผ ๋์์ค๋ค.
res.send('ํํ์ด์ง์
๋๋ค.')
})
- ์์ ๊ฐ์ด server.js ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด, ๋ธ๋ผ์ฐ์ ๋ก localhost:8080 ์ ์ ์ํ์ ๋ ์๋์ ๊ฐ์ด ์ํ๋ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
- ์ด๋ฒ์๋ localhost:8080 ์ '/pet' ์ด๋ผ๋ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ์ฌ, 'ํซ์ฉํ ํ๋งคํ์ด์ง์ ๋๋ค.' ๋ผ๋ ์๋ด๋ฌธ๊ตฌ๋ฅผ ๋์๋ณด์๋ค.
// ๋๊ตฐ๊ฐ๊ฐ /pet ๊ฒฝ๋ก์ ์ ์ํ๋ฉด
app.get('/pet', function(req, res){
// 'ํซ์ฉํ ํ๋งคํ์ด์ง์
๋๋ค.' ๋ผ๋ ์๋ด๋ฌธ๊ตฌ๋ฅผ ๋์์ค๋ค.
res.send('ํซ์ฉํ ํ๋งคํ์ด์ง์
๋๋ค.')
})
728x90
๋ฐ์ํ
'[๊ฐ๋ฐ] Practice > Node.js MongoDB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Node.js / MongoDB] Database ์ ์๋ฃ ์ ์ฅํ๋ ๋ฒ (0) | 2022.03.11 |
---|---|
[Node.js / MongoDB] MongoDB ์ ํ ํ๊ธฐ (0) | 2022.03.11 |
[Node.js / MongoDB] POST ์์ฒญํด๋ณด๊ธฐ (0) | 2022.03.11 |
[Node.js / MongoDB] Bootstrap ์ ์ด์ฉํด ๋น ๋ฅด๊ฒ UI ๊ฐ๋ฐํด๋ณด๊ธฐ (0) | 2022.03.11 |
[Node.js / MongoDB] ์๋ฒ์์ HTML ํ์ผ์ ์กํด๋ณด๊ธฐ (0) | 2022.03.11 |