๊ด€๋ฆฌ ๋ฉ”๋‰ด

JiYoung Dev ๐Ÿ–ฅ

[Node.js] Express ์‚ฌ์šฉํ•˜๊ธฐ (2023.07.05) ๋ณธ๋ฌธ

full stack/Back-End

[Node.js] Express ์‚ฌ์šฉํ•˜๊ธฐ (2023.07.05)

Shinjio 2023. 7. 5. 12:25

Express์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ

 

์ค‘๊ฐ„์— ์œ„์น˜ํ•˜๊ฒŒ ๋˜๋Š” ํ•จ์ˆ˜๋“ค

 

์–ด๋Š ๋ฃจํŠธ๋กœ ๊ฐ€๋Š”๊ฒŒ ํšจ์œจ์ ์ธ์ง€ ๋ผ์šฐํ„ฐ๊ฐ€ ํ™•์ธ > ๋„คํŠธ์›Œํฌ์—์„œ ๋งํ•˜๋Š” ๋ผ์šฐํ„ฐ

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ๊ฒฝ๋กœ(url)์„ ๋ณด๊ณ  ์–ด๋””์—์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋˜๋Š”์ง€ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ•  > express์—์„œ์˜ ๋ผ์šฐํ„ฐ

http ๋ชจ๋“ˆ์—์„œ๋Š” ์กฐ๊ฑด์ ˆ์„ ์‚ฌ์šฉํ–ˆ์Œ

 

 

app ์ธ์Šคํ„ด์Šค : ์š”์ฒญ๋ฐ›๊ณ , ์‘๋‹ตํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์„ app ์ธ์Šคํ„ด์Šค๋ฅผ ํ†ตํ•ด์„œ ์ง„ํ–‰ํ•จ 

์ธ์Šคํ„ด์Šค๋ž€ ? 

-  ์ƒ์„ฑ๋œ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด

 

์ •๋ฆฌ

 

http ๋ชจ๋“ˆ
: ์š”์ฒญ ๋ฉ”์„œ๋“œ๋ฅผ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•จ >> ๋ถˆํŽธ >> express ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉ

ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํŠน์ง• : ์ดˆ๊ธฐ์—๋Š” ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ / ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์ตํžˆ๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ํŽธํ•˜๋‹ค. 

Express ์‚ฌ์šฉ๋ฐฉ๋ฒ• ์ตํžˆ๊ธฐ
1. ์„ค์น˜ : terminal - npm install express
2. ์„ค์น˜ํ•˜๋ฉด node_modules ๋ฐ package ํŒŒ์ผ ์„ค์น˜ ๋จ
 - package.json > ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •์˜ (์„ค์น˜๊ฐ€ ๋˜๋ฉด ์ž‘์„ฑ๋จ)
3. ์„œ๋ฒ„ ์—ด๊ธฐ 
 - app.js ํŒŒ์ผ ์ƒ์„ฑ > express ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๊ณ  ์ •์˜
 4. ์‹คํ–‰ ๋ฐฉ๋ฒ•
  - node app

express์—์„œ get, post ๋ฐฉ์‹ ์š”์ฒญ, ์‘๋‹ต ๋ฐ›๊ธฐ
get
: app.get()
: req.query ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง ๋ฐ์ดํ„ฐ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Œ
: req.params ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ์— ๋‹ด๊ฒจ์ ธ ์˜ค๋Š” ๋ฐ์ดํ„ฐ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ›์•„ ์˜ฌ ์ˆ˜ ์žˆ์Œ

post
: req.body ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
: ๋‹จ, ์‚ฌ์šฉ์‹œ์—๋Š” ํŒŒ์‹ฑ ํ•„์š”! (express.urlencoded)
: express.urlencoded 
  > express ์„œ๋ฒ„๋กœ post ์š”์ฒญ์„ ํ•  ๋•Œ input ํƒœ๊ทธ์˜ value ๊ฐ’ ์ „๋‹ฌ์„ ์œ„ํ•ด ์‚ฌ์šฉ 
  > ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•ด์„œ req.body ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฏธ๋“ค์›จ์–ด
  > ์š”์ฒญ ๋ฐ์ดํ„ฐ๊ฐ€ url-encoded ํ˜•์‹์˜ ๋ฌธ์ž์—ด๋กœ ๋„˜์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ ํ•„์š” 
    (json์œผ๋กœ ๋„˜์–ด์˜ค๋Š” ๊ฒฝ์šฐ express.json ๋ฏธ๋“ค์›จ์–ด ์‚ฌ์šฉ)

***ํŒŒ์‹ฑ(parsing)
์›นํŽ˜์ด์ง€์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ๊ฐ€๊ณตํ•˜๊ธฐ ์‰ฌ์šด ์ƒํƒœ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ

๋ผ์šฐํ„ฐ 
: ์š”์ฒญํ•œ ๊ณณ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์คŒ

 

๊ธฐํƒ€. npm install nodemon

 

{
  "dependencies": {
    "express": "^4.18.2",
    "nodemon": "^2.0.22"
  },
  "scripts": {
    "start" : "nodemon app.js"
  }
}

 

npm start >> ์‹คํ–‰๊ฐ€๋Šฅ