Backend ๐Ÿ“š/Node.js

[Node] NODE JS, EXPRESS JS ๋‹ค์šด๋กœ๋“œ ํ•˜๊ธฐ

leejaejae 2024. 7. 30. 16:54

0. ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ!

  • node.js๋ž€
    • node.js๋Š” ๋ธŒ๋ผ์šฐ์ € ์™ธ๋ถ€์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค, ํฌ๋กœ์Šค ํ”Œ๋žซํผ, JavaScript ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ž„

    • node.js๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•ญ์ƒ ๋ธŒ๋ผ์šฐ์ € ์†์—์„œ๋งŒ ์‚ฌ์šฉํ•จ
    • ํ•˜์ง€๋งŒ node.js๊ฐ€ ๋‚˜์˜ค๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ €(ํฌ๋กฌ์ด๋‚˜ ie)๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์ง
    • node.js๋Š” ์ž๋ฐ”๋‚˜ PHP, python๊ณผ ๊ฐ™์€ ์–ธ์–ด์ธ๋ฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด์ž„
  • express.js๋ž€
    • node.js๊ฐ€ ์ž๋™์ฐจ์˜ ์—”์ง„์ด๋ผ๋ฉด, ๊ทธ ์—”์ง„์„ ๊ฐ€์ง€๊ณ  ์ž๋™์ฐจ์˜ ๋ฐ”ํ€ด๋„ ๋งŒ๋“ค๊ณ  ๋ธŒ๋ ˆ์ดํฌ ์‹œ์Šคํ…œ๋„ ๋งŒ๋“œ๋Š” ๋“ฑ, node.js๋ฅผ ์ด์šฉํ•ด ์ž๋™์ฐจ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด express.js์ž„.
    • node.js๋ฅผ ์ข€ ๋” ์‰ฝ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฌ์›€

 

1. Node.js ์„ค์น˜

1) ํ„ฐ๋ฏธ๋„์— node.js ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

node -v

- ๋ฒ„์ „์ด ๋œจ๋ฉด 2)๋ฒˆ์œผ๋กœ ์ด๋™
- ๋ฒ„์ „์ด ๋œจ์ง€ ์•Š์œผ๋ฉด ๋‹ค์šด๋กœ๋“œ


2) ํด๋” ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ํด๋”๋กœ ์ด๋™

# mac ๊ธฐ์ค€
cd documents
mkdir boiler-plate  # ํŒŒ์ผ๋ช… ์ž์œ ๋กญ๊ฒŒ ์ƒ์„ฑ
cd boiler-plate  # ํ•ด๋‹น ํŒŒ์ผ๋กœ ์ด๋™


3) ํ•ด๋‹น ํด๋” ๋‚ด npm ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

npm init  # ํŒจํ‚ค์ง€ ์„ค์น˜


4) Text Editer์—์„œ ํ™•์ธ

- ํ•„์ž๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์‚ฌ์šฉํ•จ

5) index.js ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

- index.js์—์„œ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ์‹œ์ž‘ํ•จ (์‹œ์ž‘์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฌ์›€)
 

2. Express.js ์„ค์น˜ 

1) express.js ๋‹ค์šด๋ฐ›๊ธฐ

- ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ๋‚ด ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์šด ๊ฐ€๋Šฅ

npm install express --save

- package.json์— express ์„ค์น˜ ์™„๋ฃŒํ•œ ๊ฒƒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
- '์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” express๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค' ํ‘œ์‹œํ•ด์ค˜์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•จ
 

3. ๊ฐ„๋‹จํ•œ express.js ์›น ๋งŒ๋“ค๊ธฐ 

1) index.js ์— ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ ์ž…๋ ฅ


2) package.json scripts ์ˆ˜์ •(์‹œ์ž‘์ ์„ index.js๋กœ)


3) ํ„ฐ๋ฏธ๋„์— `num run start` ์ž…๋ ฅ


4) ๊ฒฐ๊ณผ ๐ŸŽ‰


โ˜… ๋”ฐ๋ผํ•˜๋ฉฐ ๋ฐฐ์šฐ๋Š” ๋…ธ๋“œ, ๋ฆฌ์•กํŠธ ์‹œ๋ฆฌ์ฆˆ - ๊ธฐ๋ณธ๊ฐ•์˜ ํด๋ก ์ฝ”๋”ฉ ์ž…๋‹ˆ๋‹ค.