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