Skip to content

Latest commit

ย 

History

History
46 lines (29 loc) ยท 2.67 KB

File metadata and controls

46 lines (29 loc) ยท 2.67 KB

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ณผ์ œ

์ด ํ”„๋กœ์ ํŠธ๋Š” Webpack ์„ค์ •์„ ์ง์ ‘ ๊ตฌ์„ฑํ•˜๊ณ , ์ฃผ์–ด์ง„ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ๋™์ž‘ํ•˜๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ œ์ž…๋‹ˆ๋‹ค. react-beautiful-dnd ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ์ง€์ •๋œ ๋“œ๋ž˜๊ทธ ์ œ์•ฝ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ณต๋˜๋Š” ์ตœ์†Œ ๊ธฐ๋Šฅ์˜ ์ดˆ๊ธฐ ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ์•„๋ž˜์˜ ๊ณผ์ œ๋“ค์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณผ์ œ ๋ชฉํ‘œ

  • Webpack ์ ์šฉ: react-scripts๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , Webpack์„ ์ง์ ‘ ์„ค์ •ํ•˜์—ฌ React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์นผ๋Ÿผ ํ™•์žฅ: ๊ธฐ์กด์˜ ํ•œ ์นผ๋Ÿผ์—์„œ ๋„ค ๊ฐœ์˜ ์นผ๋Ÿผ์œผ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋“œ๋ž˜๊ทธ ์ œ์•ฝ ์กฐ๊ฑด ์ ์šฉ: ํŠน์ • ๊ทœ์น™์— ๋”ฐ๋ผ ์•„์ดํ…œ์˜ ๋“œ๋ž˜๊ทธ๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ€ํ‹ฐ ๋“œ๋ž˜๊ทธ ๊ธฐ๋Šฅ ๊ตฌํ˜„: ์—ฌ๋Ÿฌ ์•„์ดํ…œ์„ ๋™์‹œ์— ์„ ํƒํ•˜๊ณ  ๋“œ๋ž˜๊ทธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

1. Webpack ์ ์šฉ

์ด ๊ณผ์ œ์—์„œ๋Š” create-react-app์˜ react-scripts ๋Œ€์‹  ์ง์ ‘ Webpack ์„ค์ •์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ index.js ํŒŒ์ผ๊ณผ webpack.config.js ํŒŒ์ผ์„ ์„ค์ •ํ•˜์—ฌ React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

2. ์นผ๋Ÿผ ํ™•์žฅ

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

3. ๋“œ๋ž˜๊ทธ ์ œ์•ฝ ์กฐ๊ฑด

  • ์ฒซ ๋ฒˆ์งธ ์นผ๋Ÿผ์—์„œ ์„ธ ๋ฒˆ์งธ ์นผ๋Ÿผ์œผ๋กœ๋Š” ์•„์ดํ…œ ์ด๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ง์ˆ˜ ์•„์ดํ…œ์€ ๋‹ค๋ฅธ ์ง์ˆ˜ ์•„์ดํ…œ ์•ž์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์ง€์ ์œผ๋กœ ์•„์ดํ…œ์„ ๋“œ๋ž˜๊ทธ ํ•  ๊ฒฝ์šฐ, ์ œ์•ฝ์ด ์žˆ์Œ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. (ex. ๋“œ๋ž˜๊ทธ ์ค‘์ธ ์•„์ดํ…œ์˜ ์ƒ‰์ƒ์ด ๋ถ‰์€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋จ ๋“ฑ)

4. ๋ฉ€ํ‹ฐ ๋“œ๋ž˜๊ทธ ๊ตฌํ˜„

์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์•„์ดํ…œ์„ ์„ ํƒํ•˜๊ณ , ์ด๋ฅผ ๋‹ค๋ฅธ ์นผ๋Ÿผ์œผ๋กœ ํ•จ๊ป˜ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ์ด๋™ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์ง€์นจ

  • UX๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค๊ณ„ํ•˜์„ธ์š”. (์ด๋ฅผ ์œ„ํ•ด ๊ณผ์ œ ๋ชฉํ‘œ ์™ธ UI ๋ฐ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.)
  • 1๋ฒˆ ํ•ญ๋ชฉ์„ ์ œ์™ธํ•œ ๊ณผ์ œ๋Š” react-beautiful-dnd ์™ธ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋‹จ, ์Šคํƒ€์ผ์€ ๋ณธ์ธ์ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์Šคํƒ€์ผ ์‚ฌ์šฉ(CSS-in-JS, tailwind ๋“ฑ)

์ œ์ถœ ๋ฐฉ๋ฒ•

์™„์„ฑ๋œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ Git ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ณ , ํ•ด๋‹น ์ €์žฅ์†Œ ๋งํฌ๋ฅผ ์ œ์ถœํ•˜์„ธ์š”.

ํ‰๊ฐ€ ๊ธฐ์ค€

  • Webpack ์„ค์ •์˜ ์ •ํ™•์„ฑ
  • ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๊ธฐ๋Šฅ์˜ ์ •ํ™•ํ•œ ๊ตฌํ˜„
  • ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ ๋ฐ ๊ตฌ์กฐํ™”
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค ๋””์ž์ธ