React + Vite 프로젝트를 시작하면 index.html 파일이 루트 디렉토리에 존재합니다.
이 파일은 단순한 HTML 문서처럼 보이지만, Vite 기반 React 앱에서는 매우 핵심적인 역할을 합니다.
<div id="root"></div>
React는 이
#root를 기준으로 실제 DOM을 덮어씌웁니다.
<script type="module" src="/src/main.jsx"></script>
main.jsx)을 불러옵니다.main.jsx 안에는 아래와 같은 코드가 있습니다:import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App.jsx';
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
#root DOM 요소를 찾아 <App /> 컴포넌트를 렌더링합니다.index.html을 앱의 진입점으로 직접 사용합니다.index.html부터 로딩을 시작합니다.CRA에서는
index.html이 별도(public 폴더)에 있어 직접 제어가 제한적이지만,
Vite에서는 직접 모듈(script) type="module"로 불러올 수 있어 더 유연하고 빠름.
| 역할 | 설명 |
|---|---|
| 초기 구조 제공 | React 앱이 렌더링될 #root를 제공 |
| 모듈 연결 | React 앱의 진입점인 main.jsx를 로딩 |
| 메타정보 관리 | 타이틀, 파비콘, 뷰포트 등 설정 |
| Vite 서버 기준 | Vite는 index.html을 중심으로 앱을 구성 |
#root 외부 영역은 React의 제어를 받지 않기 때문에 정적 요소만 배치 가능합니다.index.html은 React가 렌더링을 시작할 수 있도록 도와주는 출발점