์ด ํ๋ก์ ํธ๋ Webpack ์ค์ ์ ์ง์ ๊ตฌ์ฑํ๊ณ , ์ฃผ์ด์ง ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๋์ํ๋ ๋๋๊ทธ ์ค ๋๋กญ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ณผ์ ์
๋๋ค. react-beautiful-dnd ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ, ์ง์ ๋ ๋๋๊ทธ ์ ์ฝ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ ๊ณต๋๋ ์ต์ ๊ธฐ๋ฅ์ ์ด๊ธฐ ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์์ํ์ฌ ์๋์ ๊ณผ์ ๋ค์ ์ํํด์ผ ํฉ๋๋ค.
- Webpack ์ ์ฉ:
react-scripts๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , Webpack์ ์ง์ ์ค์ ํ์ฌ React ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํฉ๋๋ค. - ์นผ๋ผ ํ์ฅ: ๊ธฐ์กด์ ํ ์นผ๋ผ์์ ๋ค ๊ฐ์ ์นผ๋ผ์ผ๋ก ํ์ฅํฉ๋๋ค.
- ๋๋๊ทธ ์ ์ฝ ์กฐ๊ฑด ์ ์ฉ: ํน์ ๊ท์น์ ๋ฐ๋ผ ์์ดํ ์ ๋๋๊ทธ๋ฅผ ์ ํํฉ๋๋ค.
- ๋ฉํฐ ๋๋๊ทธ ๊ธฐ๋ฅ ๊ตฌํ: ์ฌ๋ฌ ์์ดํ ์ ๋์์ ์ ํํ๊ณ ๋๋๊ทธํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค.
์ด ๊ณผ์ ์์๋ create-react-app์ react-scripts ๋์ ์ง์ Webpack ์ค์ ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ์ด๊ธฐ index.js ํ์ผ๊ณผ webpack.config.js ํ์ผ์ ์ค์ ํ์ฌ React ์ ํ๋ฆฌ์ผ์ด์
์ ๋น๋ํ ์ ์๋๋ก ํฉ๋๋ค.
ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ์นผ๋ผ๋ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฅผ ๋ค ๊ฐ์ ์นผ๋ผ์ผ๋ก ํ์ฅํ๊ณ ๊ฐ ์นผ๋ผ์๋ ๋ ๋ฆฝ์ ์ธ ๋๋๊ทธ ์ค ๋๋กญ ์์ญ์ด ์์ด์ผ ํฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ ์นผ๋ผ์์ ์ธ ๋ฒ์งธ ์นผ๋ผ์ผ๋ก๋ ์์ดํ ์ด๋์ด ๋ถ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
- ์ง์ ์์ดํ ์ ๋ค๋ฅธ ์ง์ ์์ดํ ์์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
- ์ด๋ํ ์ ์๋ ์ง์ ์ผ๋ก ์์ดํ ์ ๋๋๊ทธ ํ ๊ฒฝ์ฐ, ์ ์ฝ์ด ์์์ ์ฌ์ฉ์๊ฐ ์ ์ ์๋๋ก ํฉ๋๋ค. (ex. ๋๋๊ทธ ์ค์ธ ์์ดํ ์ ์์์ด ๋ถ์์์ผ๋ก ๋ณ๊ฒฝ๋จ ๋ฑ)
์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์์ดํ ์ ์ ํํ๊ณ , ์ด๋ฅผ ๋ค๋ฅธ ์นผ๋ผ์ผ๋ก ํจ๊ป ๋๋๊ทธํ์ฌ ์ด๋ํ ์ ์์ด์ผ ํฉ๋๋ค.
- UX๋ฅผ ๊ณ ๋ คํ์ฌ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ์ธ์. (์ด๋ฅผ ์ํด ๊ณผ์ ๋ชฉํ ์ธ UI ๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ๋ ์ข์ต๋๋ค.)
- 1๋ฒ ํญ๋ชฉ์ ์ ์ธํ ๊ณผ์ ๋
react-beautiful-dnd์ธ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ๋จ, ์คํ์ผ์ ๋ณธ์ธ์ด ์์ฃผ ์ฌ์ฉํ๋ ์คํ์ผ ์ฌ์ฉ(CSS-in-JS, tailwind ๋ฑ)
์์ฑ๋ ํ๋ก์ ํธ ์ฝ๋๋ฅผ Git ์ ์ฅ์์ ์ฌ๋ฆฌ๊ณ , ํด๋น ์ ์ฅ์ ๋งํฌ๋ฅผ ์ ์ถํ์ธ์.
- Webpack ์ค์ ์ ์ ํ์ฑ
- ๋๋๊ทธ ์ค ๋๋กญ ๊ธฐ๋ฅ์ ์ ํํ ๊ตฌํ
- ์ฝ๋์ ๊ฐ๋ ์ฑ ๋ฐ ๊ตฌ์กฐํ
- ์ฌ์ฉ์ ๊ฒฝํ ๋ฐ ์ธํฐํ์ด์ค ๋์์ธ