์ฃผ์ ์์
- ์ฃผ๊ฐ ๊ณํ ์์ฑ
- ์ปดํฌ๋ํธ ๋๋ ์ ์ค๊ณํด๋ณด๊ธฐ
- ๊ธฐ์ด ํ๊ฒฝ ์ธํ (๋ฒ๋ค๋ง, ts, tailwindCSS, ํ์ผ ๊ตฌ์กฐ ๋ฑ)
ํ์ต ํค์๋
- fsd
- ๊ด์ฌ์ฌ ๋ถ๋ฆฌ
- ๋ฒ๋ค๋ง
- tailwindCSS
๊ณ ๋ฏผ ๋ฐ ํด๊ฒฐ๊ณผ์
๋ฒ๋ค๋ง ํด ์ ํ
Vite๋ฅผ ์ด์ฉํ ์ด์ ๋ ๊ฐ๋ฐ ๊ณผ์ ์์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ธฐ ์ํด ๋น๋ํ๋ ์์ ์์ฒด๊ฐ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ ธ๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ์ํ ํ DX(๊ฐ๋ฐ์ ๊ฒฝํ)์ ์ํด์๋ Vite๊ฐ ๋ซ๋ค๊ณ ํ๋จํ์๋ค.
vite๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ๋ ๋ชจ๋์ ๋ํด dependencies์ source code ๋ ๊ฐ์ง์ ๋ฒ์ฃผ๋ก ๋๋์ด ๊ฐ๋ฐ ์์ ์๊ฐ์ ๊ฐ์ ํ๋ค.
dependencies์ ๊ฒฝ์ฐ ๊ฐ๋ฐ์ ๋ด์ฉ์ด ๋ฐ๋์ง ์์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กด์ฑ ๋ฒ๋ค๋ง ๊ณผ์ ์ ์ํํ๋ค.
Vite๋ Esbuild์ ๋น๋ ํด์ ์ฌ์ฉํ์ฌ ๋ฒ๋ค๋ง์ ์ํํ๋๋ฐ, Esbuild์ ๊ฒฝ์ฐ ๊ธฐ์กด webpack์ด๋ parcel๋ณด๋ค 100๋ฐฐ ์ด์ ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ฅํ๋ค.

Source code์ ๊ฒฝ์ฐ ์ฐ๋ฆฌ๊ฐ ๋ํ์ ์ผ๋ก ์ฌ์ฉํ๋ ํ๋ ์์ํฌ์ ํ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ง๋๋ ์ปดํฌ๋ํธ, ์ฆ Non-plain Js๋ค์ ์์ค์ฝ๋๋ฅผ ์๋ฏธํ๋ค. ํด๋น ์ฝ๋๋ค์ ๊ฒฝ์ฐ์๋ ์คํํ๊ธฐ ์ํด์๋ ์ปดํ์ผ์ ์ํํ ํ์์ฑ์ด ์๋ค.
ํ์ง๋ง ๊ธฐ์กด์ ๋ฒ๋ค๋ง๋ ์ฝ๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ ์๋ฒ๋ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์ ์์ค ์ฝ๋์ ์์ ์ด ์ผ์ด๋ฌ์ ๋๋ง๋ค ํต์ฑ๋ก ๋ค์ ๋ฒ๋ค๋งํ๋ ๊ณผ์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ถํ์ํ ์๊ฐ ์์๊ฐ ๋ฐ์ํ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋๋ Vite๋ Native ESM ๋ฐฉ์์ ์ด์ฉํด์ ๊ฐ๋ฐ ์๋ฒ(Hot Reloading)๋ฅผ ๊ตฌ๋ํ๋ค.
ESM ๋ฐฉ์์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ฅ์ ์, import๋ฅผ ํตํด ๋์ ์ผ๋ก ๊ทธ๋๊ทธ๋ ํ์ํ ํ์ผ๋ค๋ง์ ๊ฐ์ ธ์จ๋ค๋ ์ ์ด๋ค. ๋ฒ๋ค๋ง์ ํ์ง ์๊ณ ๊ฐ๋ณ ํ์ผ์ ๋ํด ํธ๋์คํ์ผ๋ง๋ง ํ ๋ค์ ์ด๋ฅผ importํ๋ ๊ตฌ์กฐ๋ค์ ํตํด ํ๋์ ํ์ด์ง๋ฅผ ์์ฑํ ์ ์๋๋ก ๋ง๋ค์๋ค.
๋ฐ๋ผ์ ๋๋ ๋น ๋ฅธ ๊ฐ๋ฐ์ ์ํด vite๋ฅผ ์ ํํ๋ค
์ปดํฌ๋ํธ์ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ
๊ธฐ์กด์ ๋ด๊ฐ ๋๋๋ ๋๋ก ์ปดํฌ๋ํธ๋ฅผ ๋๋์ด ๋ณด์๋ค.
๊ฐ ์ปดํฌ๋ํธ๋ง๋ค ํ์ํ ์ด๋ฒคํธ์ ์ด๋ค data๋ฅผ fetchingํด์ ํ์ ์ปดํฌ๋ํธ์ props๋ก ์ ๋ฌํด์ฃผ์ด์ผ ํ ์ง๋ฅผ ์ ์๋ค.
ํ์ง๋ง ์ด์ ๊น์ง ๋ด๊ฐ ํ๋ ํ๋ก์ ํธ์์๋ ํ๋์ ์ปดํฌ๋ํธ ์์์ ui, ๋น์ฆ๋์ค ๋ก์ง, ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฑ์ ๋ชจ๋ ๋ก์ง๋ค์ด ์ฝํ์์๋ค. ์ฝํ์์ด ๊ฐ๋
์ฑ ๋ํ ์ข์ง ์๋ ํ์ ์ค๋ฅ ํ๋์ ์์ธ์ด ๋ ์ปดํฌ๋ํธ๋ฅผ ์ฐพ๋ ๊ณผ์ ๋ํ ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ๋์๋ค.
๋ฐ๋ผ์ ๋๋ ์ด๋ฒ ํ๋ก์ ํธ์์ ์ปดํฌ๋ํธ ๋ณ๋ก ui, ๋น์ฆ๋์ค ๋ก์ง, ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๊ฐ์ ๊ฒ๋ค์ ๋ํด ๋ชจ๋ ๋ถ๋ฆฌํ๊ณ , ๋จ์ผ์ฑ
์์์น(SRP)๋ฅผ ์ง์ผ๊ฐ๋ฉด์ ์ค๊ณ๋ฅผ ๋ค์ ํด๋ณผ ์์ ์ด๋ค.
์ด๋ฌํ ์ค๊ณ ๊ณผ์ ์์ ๊ธฐ๋ฅ๋ณ๋ก ๋๋๊ณ , ์ด๋ฅผ ์กฐํฉํ์ฌ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค ์ ์๋๋ก ํ๋ fsd ํจํด์ ์ ์ฉํ๋ ค ํ๋ค.
fsd ํจํด์ ๊ฒฝ์ฐ ๊ธฐ๋ฅ๋ณ๋ก ๋๋๊ณ , ๋๋ ํ ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ด์ฌ์ฌ๋ฅผ ๋ช
ํํ๊ฒ ๋๋ ์ ์๋ค๋ ์ ์์ ๋ณด๋ค ๊ฐ๋
์ฑ๊ณผ ๊ธฐ๋ฅ๋ณ ํ์ฅ ๋ฑ์ด ์ฉ์ดํ๋ค๊ณ ํ๋จํ๋ค. ๋ฐ๋ผ์ ์ ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก fsd ํจํด์ ์ด์ฉํ์ฌ ์ด๋ค ๋ฐฉ์์ผ๋ก ๋๋์ด ๋ณผ ์ ์์์ง์ ๋ํด์ ์ค๊ณ์ค์ด๋ค.