๐Ÿ’ปTIL 23.04.05

๊น€์˜์šฐ(Yeongwoo Kim)ยท2023๋…„ 4์›” 5์ผ
0
post-thumbnail

๐Ÿ˜๊ทธ๋™์•ˆ ์ง„ํ–‰ ์ƒํ™ฉ

  • ๊ทผ 2~3์ฃผ ๋™์•ˆ ๋‚˜๋Š” Migration์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์ฒ˜์Œ์—๋Š” ๋‹จ์ˆœํžˆ Next์—์„œ React๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฑฐ๋‹ˆ๊นŒ "๋ญ....๊ธˆ๋ฐฉ ํ•˜๊ฒ ์ง€?"๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋‚˜์˜ ์ฐฉ๊ฐ.... ๋‚ด ์ƒ๊ฐ๋ณด๋‹ค ๊ณผ๊ฑฐ ๋‚˜์˜ ์ฝ”๋“œ๋Š” ๋” ์—‰๋ง์ง„์ฐฝ์ด์˜€๋‹ค.

๐Ÿ˜‚ ์–ด๋–ค ๋ฌธ์ œ์ ๋“ค์ด ์žˆ์—ˆ๋‚˜์š”?

  1. ์šฐ์„  ์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด ๋‚˜์˜ ์˜ˆ์ „ ์ฝ”๋“œ๋Š” ์ •๋ง ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  "๊ตฌํ˜„"๋งŒ ๋  ์ˆ˜ ์žˆ๊ฒŒ ์งœ์—ฌ์žˆ์—ˆ๋‹ค. ์ด๋Š” ๋‚ด๊ฐ€ ์–ด๋Š ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š”์ง€ ์ฐพ๋Š”๋ฐ๋งŒ 5~10๋ถ„์ด ๊ฑธ๋ ธ๋Š”๋ฐ ์ด๊ฒŒ ์Œ“์ด๋‹ค ๋ณด๋‹ˆ ๋ช‡์‹œ๊ฐ„์”ฉ์ด๋‚˜ ๊ฑธ๋ฆฌ๊ฒŒ ๋๋‹ค.
  2. ๋‹ค์Œ์œผ๋กœ๋Š” clubstudy๋Š” ๊ธฐ์กด ์—ฌ๋Ÿฌ๊ฐ€์ง€์˜ domain์„ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋Š” ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ ๋ถˆํŽธํ–ˆ์ง€๋งŒ, ์ƒ๊ฐ๋ณด๋‹ค ํ•™์ƒ domain๊ณผ mainPage์˜ domain์ด ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. ๊ทธ๋ž˜์„œ domain์„ ์ค„์ด๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
    • ๊ธฐ์กด mainPage๋Š” Emotion๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ์ง์ ‘ ๋ชจ๋“  component๋“ค์„ styled๋กœ ์ˆ˜์ •ํ•ด์„œ ๊ทธ๋ ค๋‚˜๊ฐ”๋‹ค. ํ•˜์ง€๋งŒ studentPage์—์„œ๋Š” mui๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•ด๋‹น mui component๋ฅผ emotion์„ ํ†ตํ•ด ์ˆ˜์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— mainPage์™€ studentPage๋Š” ํ•ฉ์น˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ์ด์˜€๋‹ค.

๐Ÿ™„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”?

  • ๋‚ด ํŒ๋‹จ์œผ๋กœ๋Š” ์•„ ์ด๊ฑด mainPage๋ฅผ ๋œฏ์–ด์„œ ๊ณ ์ณ๋‚˜๊ฐ€๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” mainPage ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์•„์˜ˆ ์ƒˆ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ์ด ๋‚ซ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.
  • mainPage๋ฅผ ์ฒ˜์Œ ๋งŒ๋“ค์—ˆ์„ ๋•Œ๋Š” ๊ฑฐ์˜ 3๊ฐœ์›”์ด ๊ฑธ๋ ธ์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๊ธฐ์–ตํ•˜๋Š”๋ฐ, ์ด๋ฒˆ์—” ๊ธฐ์กด ์ฝ”๋“œ๊ฐ€ ์žˆ๊ณ  ๊ตฌ์กฐ๋„ ๋ฏธ๋ฆฌ ์ง  ๋’ค์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋‹ˆ 2์ฃผ์ผ? ์ •๋„์˜ ์‹œ๊ฐ„ ๋ฐ–์— ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜๋‹ค.
  • ๊ธฐ์กด mainPage ํด๋” ์•ˆ์— ์ƒˆ๋กญ๊ฒŒ cra(create react app)์„ ํ†ตํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๊ณ  ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™์ด ๋๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น cra๋ฅผ ๊ธฐ์กด ๋ฉ”์ธ ํด๋”๋กœ ์˜ฎ๊ฒจ ๋†จ์–ด์•ผ ํ–ˆ๋‹ค.
      // before
      โ”œโ”€โ”€ node-modules
      โ”œโ”€โ”€ components
      โ”œโ”€โ”€ page
      โ”œโ”€โ”€ new Create React App
      โ”œโ”€โ”€ style
      โ””โ”€โ”€ run
  • ํ•˜์ง€๋งŒ ํด๋” ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด node-modules๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋Š”๋ฐ ์ด ํŒŒ์ผ์ด ์ง„์งœ ๋„ˆ๋ฌด ์ปค์„œ ์ง€์šฐ๋Š”๋ฐ ํ•˜๋ฃจ์ข…์ผ ๊ฑธ๋ฆฌ๋Š” ๋“ฏํ•œ ๋Š๋‚Œ์„ ๋ฐ›์•˜๊ณ  ์ด๊ฒŒ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ดค๋‹ค.

node-modules๋ž€

  • node_modules ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” package.json์— ์žˆ๋Š” ๋ชจ๋“ˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, package.json์— ์žˆ๋Š” ๋ชจ๋“ˆ์ด ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“ˆ ์ „๋ถ€๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ node_modules ๋””๋ ‰ํ† ๋ฆฌ์•ˆ์—๋Š” ์ •๋ง ๋งŽ์€ ๋ชจ๋“ˆ๋“ค์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค. npm์œผ๋กœ ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ(ํŒจํ‚ค์ง€)๋ฅผ ์„ค์น˜ํ•˜๊ฒŒ ๋˜๋ฉด, package.json๊ณผ node_modules์— ์ถ”๊ฐ€๋œ๋‹ค.

    ์ถœ์ฒ˜
    https://cheonmro.github.io/2018/12/23/package-json/

์ฆ‰ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ๋“ค์„ ํฌํ•จํ•œ ํŒŒ์ผ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋ ‡๊ฒŒ ์šฉ๋Ÿ‰์ด ์ปท๋˜ ๊ฒƒ์ด๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•œ๊ฐ€์ง€ ์ฐพ์•˜๋Š”๋ฐ

rm -rf node_modules

ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž‘์„ฑํ•˜๋ฉด ์—„์ฒญ ๋น ๋ฅธ ์†๋„๋Š” ์•„๋‹ˆ์ง€๋งŒ, ๊ทธ๋ƒฅ ํด๋”๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์‚ญ์ œ๋œ๋‹ค.

๋!

์ด๋ ‡๊ฒŒํ•ด์„œ ๋‚˜์˜ ์ฒซ MIGRATION์€ ๋์„ ๋งˆ์ณค๋‹ค. ํŒŒ์ผ ๊ตฌ์กฐ๋„ ๊ธฐ์กด์— ์ž‘์„ฑํ•œ๋Œ€๋กœ style๊นŒ์ง€ ๋ถ„๋ฆฌ๋ฅผ ๋งˆ์ณค๋‹ค.

๐Ÿ’ก ์•ž์œผ๋กœ์˜ ๊ณ„ํš

  • ์šฐ์„  ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์ด ๋“ค์–ด์™”๊ณ  ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋จผ์ € ๊ฐœ๋ฐœํ•  ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ ๋‹ค์Œ์œผ๋กœ๋Š” ๋“œ๋””์–ด ์‚ฌ์šฉ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋˜ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ "redux"๋ฅผ ๊ณต๋ถ€ํ•ด ๋ณผ๊นŒ ํ•œ๋‹ค! ํ™”์ดํŒ…~
profile
์ฐจ๊ทผ์ฐจ๊ทผ ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€