all is well!!

2. Express.js ๋ณธ๋ฌธ

Node.js(express.js) + noSQL(mongoDB)

2. Express.js

tnqlscho 95 2023. 5. 25. 00:06

๐Ÿ‘€ Express.js๋ž€?

1. Node.js๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ

2. Express.js๋Š” ๋ฏธ๋“ค์›จ์–ด ์ค‘์‹ฌ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ฐ›๊ณ  ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋ฏธ๋“ค์›จ์–ด ํ•จ์ˆ˜๋Š” ์š”์ฒญ์ด ํ•ด๋‹น ๋ฏธ๋“ค์›จ์–ด ํ•จ์ˆ˜์— ๋„๋‹ฌํ• ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋œ๋‹ค.

4. Express๋Š” ์ˆ˜์‹  ์š”์ฒญ์„ ๋ฆฌ์Šค๋‹ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ‘€ Express.js ์„ค์น˜ ๋ฐ ์„ค์ •

1. package.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅํ•œ๋‹ค.

$ npm init

2. Express๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

$ npm install express --save

3. ์„ค์น˜๊ฐ€ ์ž˜ ๋˜์—ˆ๋Š”์ง€ package.json์—์„œ ํ™•์ธํ•œ๋‹ค.

4. nodemon ์„ค์น˜(ํ•„์ˆ˜๋Š” ์•„๋‹˜, ๊ฐœ๋ฐœํ• ๋•Œ๋งŒ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ -dev๋ฅผ ๋ถ™์—ฌ์ค€๋‹ค.)

server.jsํŒŒ์ผ ์ˆ˜์ •ํ• ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ์—ด์–ด์ค˜์•ผ ํ•˜๋Š”๋ฐ nodemon์„ ์„ค์น˜ํ•˜๋ฉด node.js๋ž‘ jsํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๊ธฐ๋„ ํ•˜๊ณ 

ํ”„๋กœ์ ํŠธ ํด๋”์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ๊ฐ์‹œ๋„ ํ•ด์„œ ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์†์ด ๋œ๊ฐ„๋‹ค.

$ npm install nodemon --save-dev

๐Ÿ‘€ Express.js ๊ธฐ๋ณธ ์„ธํŒ…

1. ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์„œ๋ฒ„ ๊ฐ์ฒด๋Š” ์ƒ์ˆ˜ app์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— createServer์€ ํ˜ธ์ถœํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

2. express์˜ ํ•ต์‹ฌ์€ ๋ชจ๋“  ์š”์ฒญ์„ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฏธ๋“ค์›จ์–ด ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ˆ˜์‹ ํ•˜๋Š” ๊ฒƒ!

const express = require('express') // express.js ๊ฐ€์ ธ์˜จ๋‹ค
const app = express() // express ์„œ๋ฒ„ ์ƒ์„ฑ
const PORT = process.env.PORT || 4000 // PORT๋ฒˆํ˜ธ 4000์— ํ• ๋‹น
const bodyParser = require('body-parser')
app.use(bodyParser.json())

// ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ ์ฒ˜๋ฆฌํ•˜๋Š”๊ณณ(CRUC)
app.post('/users/:name&:age', (req,res)=>{
    console.log(req.body) // request body
    const name = req.params.name
    const age = req.params.age
    res.send({ success: `post ${name} & ${age}` })
})

app.get('/users',(req,res)=>{
    // console.log('server:/api/get/person')
    res.send({person_res:'success!'})
})

// put์€ ์ „์ฒด ์ˆ˜์ •
app.put('/users/:name',(req,res)=>{
    console.log(req.params)
    console.log(req.body)
    console.log(req.params.name)
    console.log(req.body.age)

    const name = req.params.name
    const age = req.body.age
    res.send({ success: `put ${name} & ${age}` })
})

// patch๋Š” ๋ถ€๋ถ„ ์ˆ˜์ •
app.patch('/users/:name',(req,res)=>{
    console.log(req.params)
    console.log(req.body)
    console.log(req.body.age)

    const age = req.body.age
    res.send({ success: `patch ${age}` })
})

app.delete('/users/:name',(req,res)=>{
    console.log(req.params)

    const name = req.params.name
    res.send({ success: `delete ${name}` })
})

// listen์€ ์„œ๋ฒ„์˜ ๋Œ€๊ธฐ์ƒํƒœ (TCP/IP ํ†ต์‹ ์˜ ๊ณผ์ •์ค‘์— ์žˆ๋Š” ํ•จ์ˆ˜)
app.listen(PORT,()=>{
    console.log(`Server On: http://localhost:${PORT}`)
})

 

 

 


* ์ฐธ๊ณ 

https://www.udemy.com/course/react-nodejs-express-mongodb-mern/learn/lecture/33745704#overview

'Node.js(express.js) + noSQL(mongoDB)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

5. mongoose  (0) 2023.06.06
4. SQL? noSQL?  (0) 2023.05.29
3. mongoDB Atlas ์„ค์ •  (0) 2023.05.27
1. Node.js  (0) 2023.05.24
Comments