React๋ฅผ ์์ํ ๋ ์๋๊ฐ ๋๋ ค ๊ณ ๋ฏผ์ด์ ๊ฐ์? ์ด๋ฒ ํฌ์คํ ์์๋ React ํ๋ก์ ํธ๋ฅผ Vite๋ก ๋น ๋ฅด๊ฒ ์ค์นํ๊ณ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. Vite๋ ๊ฒฝ๋ํ๋ ๋ฒ๋ค๋ฌ๋ก, ๋น ๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํ๋ฉฐ ๋ณต์กํ ์ค์ ์์ด๋ React๋ฅผ ๊ฐํธํ๊ฒ ์คํํ ์ ์์ต๋๋ค.
[ ์์นด์ฝ ]
1. Vite๋ ๋ฌด์์ธ๊ฐ์?
Vite๋ “๋น ๋ฅด๋ค”๋ ์๋ฏธ๋ฅผ ๊ฐ์ง ํ๋์ค์ด ๋จ์ด์์ ์ ๋ํ์ผ๋ฉฐ, JavaScript์ TypeScript ๊ฐ๋ฐ์ ์ํ ์ฐจ์ธ๋ ๋น๋ ๋๊ตฌ์ ๋๋ค. Vite๋ ๊ธฐ์กด ๋ฒ๋ค๋ฌ์ ๋ฌ๋ฆฌ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ์ ๊ณตํฉ๋๋ค.
- ๋น ๋ฅธ ์๋ฒ ์์: Vite๋ ES ๋ชจ๋์ ํ์ฉํ์ฌ ๊ธฐ์กด์ ๋ฒ๋ค๋ง ๊ณผ์ ์์ด ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ฆ์ ์คํํฉ๋๋ค.
- ๋น ๋ฅธ HMR(Hot Module Replacement): ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํฉ๋๋ค.
- ๊ฒฝ๋ ์ค์ : ๋ณต์กํ ์ค์ ์์ด๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
2. Vite ํํ์ด์ง๋ฅผ ๊ฒ์ํ์ฌ ๋ฌธ์๋ฅผ ํ์ธํฉ๋๋ค.
- Vite๋ฅผ ์ฒ์ ์ฌ์ฉํ์ ๋ค๋ฉด Vite ๊ณต์ ํํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์. ๊ณต์ ๋ฌธ์์์๋ Vite์ ์ค์น ๋ฐ ์ค์ ๋ฐฉ๋ฒ์ด ์์ธํ ์ค๋ช ๋์ด ์์ต๋๋ค.
3. ๋ฌธ์๋ฅผ ๋ณด๋ฉฐ npm์ ์ด์ฉํ Vite ํ๋ก์ ํธ ์์ฑ ๋ช ๋ น์ด ํ์ธ
- ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ Vite ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
- ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ํ๋ก์ ํธ ์ด๋ฆ๊ณผ ํ ํ๋ฆฟ ์ข ๋ฅ๋ฅผ ์ ํํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
npm create vite@latest
4. ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ํ๋ก์ ํธ ์ ๋ณด๋ฅผ ์ ํํ์ฌ ์๋ฒ ์คํ๊น์ง ์งํํฉ๋๋ค.
- ์ํ๋ ์ต์ ์ ์ ํํ ๋ค, ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
cd <ํ๋ก์ ํธ ์ด๋ฆ>
- ์์กด์ฑ์ ์ค์นํ๊ณ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์คํํฉ๋๋ค.
npm install
npm run dev
5. ๋ก์ปฌ ์๋ฒ ํ์ธ
- ๊ฐ๋ฐ ์๋ฒ ์คํ ํ ๋ธ๋ผ์ฐ์ ์์ http://localhost:5173์ ์ ์ํ์ฌ ํ๋ก์ ํธ๊ฐ ์ ์์ ์ผ๋ก ์คํ๋๋์ง ํ์ธํ์ธ์.
6. Vite ํ๋ก์ ํธ์ ์ฃผ์ ํ์ผ ๊ตฌ์กฐ
- ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ๊ธฐ๋ณธ์ ์ธ ํ์ผ ๊ตฌ์กฐ๊ฐ ์์ฑ๋ฉ๋๋ค.
my-react-app/
โโโ index.html
โโโ src/
โ โโโ main.jsx
โ โโโ App.jsx
โโโ package.json
โโโ vite.config.js
- index.html: ๋ฉ์ธ HTML ํ์ผ์ ๋๋ค.
- src/main.jsx: React ์ง์ ์ ํ์ผ์ ๋๋ค.
- src/App.jsx: React ์ปดํฌ๋ํธ ์์ ์ ๋๋ค.
- vite.config.js: Vite ์ค์ ํ์ผ์ ๋๋ค.
7. Vite์ CRA(Create React App) ๋น๊ต
- Vite๋ ํนํ ๋น ๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ์ด ํ์ํ๊ฑฐ๋ ๊ฐ๋ฒผ์ด ์ค์ ์ ์ ํธํ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ํฉํฉ๋๋ค.
ํน์ง | Vite | CRA |
๋ฒ๋ค๋ง ์๋ | ๋น ๋ฆ | ๋๋ฆผ |
HMR ์๋ | ๋น ๋ฆ | ๋ณดํต |
์ค์ ๋์ด๋ | ๊ฐ๋จ | ๊ฐ๋จ |
๊ธฐ๋ณธ ์ ๊ณต ๊ธฐ๋ฅ | ES ๋ชจ๋, ๋น ๋ฅธ ์๋ฒ ์์ | ๋ฒ๋ค๋ง, ํ์ค ์ค์ ์ ๊ณต |
'๋ฐฐ์ธ ๊ฒ์ ์ ๋ง ๋ง์ ๐จ > ํ๋ก ํธ์๋ [ Frontend ] ๐จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React ํด๋ ๊ตฌ์กฐ ์ ํ๋ ๋ฐฉ๋ฒ(FSD ์ํคํ ์ฒ) (5) | 2025.02.02 |
---|---|
๋ฆฌ์กํธ React ํ๋ก์ ํธ ์ค์น ํ ๋ก์ปฌ์๋ฒ ์คํํ๋ ๋ฐฉ๋ฒ (2) | 2025.01.24 |