๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (133)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (36)
      • Next.js (17)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (3)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ์ฝœ์Šคํƒ
  • reflow
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • ํ˜ธ์ด์ŠคํŒ…
  • next.js
  • ๋ฉด์ ‘
  • ํž™์˜์—ญ
  • ์›์‹œํƒ€์ž…
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • react
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • ์˜ค๋ธ”์™„
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ๋ ‰์‹œ์ปฌ
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • SSR
  • layout shift
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi

Minzzi์•ผ

React ๊ฐœ๋ฐœ์‹œ Node.js๋ฅผ ์„ค์น˜ํ•˜๋Š” ์ด์œ 
FE/React

React ๊ฐœ๋ฐœ์‹œ Node.js๋ฅผ ์„ค์น˜ํ•˜๋Š” ์ด์œ 

2024. 3. 15. 20:13

Node.js

 

Node.js๋Š” React๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋” ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋“ค์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค์ด์ž
JavaScript runtime environment(์‹คํ–‰ ํ™˜๊ฒฝ)์ด๋‹ค.

(*runtime : ํŠน์ • ์–ธ์–ด๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ)

 

React ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ, Node.js ๋ฅผ ํ•จ๊ป˜ ์„ค์น˜ํ•œ๋‹ค.

Node.js๋Š” ๋ฌด์—‡์ด๊ธฐ์— ํ•ญ์ƒ react์™€ ๊ฐ™์ด ๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š” ๊ฑธ๊นŒ?

 

๊ฒฐ๋ก ์ ์œผ๋กœ ๋งํ•˜๋ฉด, React ๊ฐœ๋ฐœ์‹œ, Node.js๊ฐ€ ํ•„์ˆ˜์ ์ธ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

์ฆ‰, node.js ์—†์ด๋„ React๋Š” ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค!

 

๊ทธ๋ž˜๋„ Node.js๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์ด์œ ๋Š” ์žˆ๋Š” ๋ฒ•!

๋งจ ์ฒ˜์Œ์— ์–ธ๊ธ‰๋„ ํ–ˆ๋‹ค.

์ฐจ๊ทผ์ฐจ๊ทผ ์‚ดํŽด๋ณด์ž

 

1๏ธโƒฃ Node.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” HTML์— ์ข…์†๋˜์–ด ์žˆ๋Š” ์–ธ์–ด์ด๋ฉฐ, HTML ์กฐ์ž‘๊ณผ ๋ณ€๊ฒฝ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. 

์ •์ ์–ธ์–ด์ธ HTML์„ ์กฐ์ž‘ํ•˜์—ฌ ์›นํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋‹ค.

HTML์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•ด์„ํ•˜๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ํ•œ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ € ์œ„์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

ํ•˜์ง€๋งŒ 2008๋…„์— ๊ตฌ๊ธ€์ด V8 ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋กฌ์„ ์ถœ์‹œํ•œ ์ดํ›„, V8 ์—”์ง„์— ๊ธฐ๋Šฅ์„ ๋”ํ•ด ๋…ธ๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, Node.js(V8)์ด ๋“ฑ์žฅํ•˜์˜€๋‹ค. Node.js๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ง๊ณ ๋„ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

๋”ฐ๋ผ์„œ Node.js๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ‚ค์ง€ ์•Š์•„๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ปดํ“จํ„ฐ์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

2๏ธโƒฃ NPM(Node Package Manager)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด


NPM(Node Package Manager)์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์ด๋‹ค. NPM์€ React ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ Node.js์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ๋“ค์„ ํŒจํ‚ค์ง€ํ™”ํ•˜์—ฌ ๋ชจ์•„๋‘” ์ €์žฅ์†Œ ์—ญํ• ๊ณผ ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ CLI(Command Line Interface)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 

 

npm์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „ ์„ธ๊ณ„์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“  ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋ฅผ npm ์˜จ๋ผ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜ฌ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž๋Š” ๊ทธ๊ฒƒ์„ npm๊ณผ ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด ์„ค์น˜ ๋ฐ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

React๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐœ๋ฐœ์—์„œ ์ €๋Ÿฌํ•œ ํŒจํ‚ค์ง€๊ฐ€ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— npm์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค.

 

์ด๋Ÿฌํ•œ npm์€ Node.js๋ฅผ ์„ค์น˜ํ•  ๋•Œ ํ•จ๊ป˜ ์„ค์น˜๋˜๊ธฐ ๋•Œ๋ฌธ์— Node.js๋ฅผ ์„ค์น˜ํ•˜๋Š” ์ด์œ ์ด๊ธฐ๋„ ํ•˜๊ณ  npm์„ CLI๋กœ ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด Node.js๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

2๏ธโƒฃ JSX๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด


npm์ด ํ•„์š”ํ•˜๋ฉด npm๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋˜์ง€ ์™œ Node.js๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฑด๋ฐ?

Node.js๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ”๋ฒจ(Babel)์ด๋ผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ๋„๊ตฌ๋ฅผ ์ถ”๊ฐ€๋กœ ๋‹ค์šด๋ฐ›์•„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Œ€์‹ ์— JSX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค!

JSX๋ž€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™•์žฅํ•œ ๋ฌธ๋ฒ•์ด๋‹ค.

์‚ฌ์‹ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ๋งŒ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํž˜๋“ค์–ด์ง€๋Š”๋ฐ, JSX๋ฅผ ์ด์šฉํ•˜๋ฉด ์šฐ๋ฆฌ์—๊ฒŒ ์ต์ˆ™ํ•œ html ์ฝ”๋“œ๋กœ ๊ฐœ๋ฐœํ•˜์—ฌ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

JSX ์‚ฌ์šฉ์„ ์œ„ํ•ด์„  ๋ฐ”๋ฒจ์€ ํ•„์ˆ˜!

JSX ๋ฌธ๋ฒ•์„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋ฒจ์„ ์ด์šฉํ•˜์—ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ es6(ECMAScript)๋ฌธ๋ฒ•์„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„  ํ•˜์œ„๋ฒ„์ „(es5)์˜ ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ์‹œ์ผœ์•ผ ํ•˜๋Š”๋ฐ ์ด๋•Œ babel์ด ์‚ฌ์šฉ๋œ๋‹ค. 

 

Node.js๊ฐ€ ์žˆ์œผ๋ฉด Babel์„ ์ถ”๊ฐ€๋กœ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ด์œ ๋กœ Node.js๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

๋”๋ณด๊ธฐ

์ฐธ๊ณ 

https://velog.io/@remon/%EA%B0%9C%EB%B0%9C-%EA%B8%B0%EB%B3%B8-%EC%A7%80%EC%8B%9D-Node.js%EB%9E%80

 

[๊ฐœ๋ฐœ ๊ธฐ๋ณธ ์ง€์‹] Node.js๋ž€?

"Node.js๋Š” Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JavaScript ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค" ?? ๐Ÿค”๊ทธ๋ž˜์„œ ๋ญ”๋ฐ์š”?

velog.io

https://chucoding.tistory.com/86

 

React ๊ฐœ๋ฐœ์— ์™œ Node.js๊ฐ€ ํ•„์š”ํ• ๊นŒ??

๊ตฌ๊ธ€์— React๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ํ•ญ์ƒ Node.js๊ฐ€ ๋ถ™์–ด๋‹ค๋‹ˆ๋Š” ๊ด‘๊ฒฝ์„ ๋ชฉ๊ฒฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. React๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐœ๋ฐœํ•˜๊ธฐ๋„ ์‹œ๊ฐ„์ด ์ด‰๋ฐ•ํ•œ๋ฐ Node.js๊นŒ์ง€ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•˜๋Š”์ง€ ์˜๋ฌธ์ด ๋งŽ์ด ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„๋Œ€์ฒด Rea

chucoding.tistory.com

 

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'FE > React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[React] ๋ชจ๋˜ ๋ฆฌ์•กํŠธ ๋”ฅ๋‹ค์ด๋ธŒ 4. ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ์ฃผ์š” ์ •๋ฆฌ  (0) 2024.05.30
[React] SPA, CSR์€ ๊ฐ™์„๊นŒ ๋‹ค๋ฅผ๊นŒ  (0) 2024.05.30
ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์Šคํฌ๋กค ์œ„์น˜ ํ•ญ์ƒ ์œ„์— ๊ณ ์ •์‹œํ‚ค๊ธฐ  (0) 2024.02.17
    'FE/React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [React] ๋ชจ๋˜ ๋ฆฌ์•กํŠธ ๋”ฅ๋‹ค์ด๋ธŒ 4. ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ์ฃผ์š” ์ •๋ฆฌ
    • [React] SPA, CSR์€ ๊ฐ™์„๊นŒ ๋‹ค๋ฅผ๊นŒ
    • ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์Šคํฌ๋กค ์œ„์น˜ ํ•ญ์ƒ ์œ„์— ๊ณ ์ •์‹œํ‚ค๊ธฐ
    ๐Ÿธminzzi
    ๐Ÿธminzzi

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”