Vite ๊ธฐ๋ฐ ์ต์ ํ ํด์ฒด์ธ ๊ตฌ์ถ์ ํตํ 10๋ถ ๋ด Production-ready ํ๊ฒฝ ๊ตฌํ
๐ React + Vite + Tailwind CSS + Shadcn UI Setup (vanillaJS)
AI ์์ฝ
Context
๊ธฐ์กด React ํ๋ก์ ํธ ์ค์ ์ PostCSS ์ค์ ๋ฐ ๋ณต์กํ ์๋ ๊ฒฝ๋ก Import๋ก ์ธํ ์ ์ง๋ณด์ ๋น์ฉ ์ฆ๊ฐ ๋ฐ์. ๋น ๋ฅธ ํ๋กํ ํ์ดํ์ ์ํด TypeScript ์ค๋ฒํค๋๋ฅผ ์ ๊ฑฐํ JavaScript ๊ธฐ๋ฐ์ ๊ณ ํจ์จ ๊ฐ๋ฐ ํ๊ฒฝ ์๊ตฌ.
Technical Solution
@tailwindcss/viteํ๋ฌ๊ทธ์ธ ๋์ ์ ํตํ PostCSS ์ค์ ์ ๊ฑฐ ๋ฐ Build-time ์ปดํ์ผ ์๋ ์ต์ ํvite.config.js๋ดresolve.alias์ค์ ์ ํตํ@/๊ฒฝ๋ก ๊ธฐ๋ฐ์ Absolute Import ๊ตฌ์กฐ ์ค๊ณjsconfig.json์ ์๋ฅผ ํตํ IDE ์์ค์ ๊ฒฝ๋ก ์๋ ์์ฑ ๋ฐ ์ ์ ๋ถ์ ์ง์ ์ฒด๊ณ ๋ง๋ จbabel-plugin-react-compiler์ ์ฉ์ ํตํ ๋ฐํ์ ๋ ๋๋ง ์ฑ๋ฅ ์ต์ ํ ๊ฐ๋ฅ์ฑ ํ๋ณด- Shadcn UI CLI ๊ธฐ๋ฐ์ Component-driven ๊ฐ๋ฐ ์ฒด๊ณ ๊ตฌ์ถ์ผ๋ก UI ์ผ๊ด์ฑ ๋ฐ ์ ๊ทผ์ฑ ํ๋ณด
src/components/ui์src/components๋ฅผ ๋ถ๋ฆฌํ์ฌ Primitive UI์ Custom Composables์ ์ญํ ๋ถ๋ฆฌ ์ค๊ณ
์ค์ฒ ํฌ์ธํธ
- PostCSS ์ค์ ์์ด Tailwind CSS๋ฅผ ์ ์ฉํ๋ ค๋ฉด `@tailwindcss/vite` ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ ๊ฒํ - ํ๋ก์ ํธ ๊ท๋ชจ ํ์ฅ ์ `jsconfig.json` ๋๋ `tsconfig.json`์ ํตํ Alias ๊ฒฝ๋ก ์ค์ ์ ์ฉ - Shadcn UI ๋์ ์ ๊ธฐ๋ณธ ์ ๊ณต UI ์ปดํฌ๋ํธ์ ๋น์ฆ๋์ค ๋ก์ง์ด ํฌํจ๋ ์ปค์คํ ์ปดํฌ๋ํธ์ ๋๋ ํ ๋ฆฌ ๊ณ์ธต ๋ถ๋ฆฌ - ๋น ๋ฅธ ํ๋กํ ํ์ดํ ๋จ๊ณ์์ TypeScript ๋์ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด JavaScript-first ์ ๋ต ์ฑํ ๊ณ ๋ ค