React.js

[React.JS] Vite로 React 프로젝트 시작하기

서스포_PAR 2026. 5. 2. 23:53

 

📑 Vite소개  - https://ko.vite.dev/

 

Vite

Vite, 프런트엔드 개발의 새로운 기준

ko.vite.dev

 

Vite는 차세대 프론트엔드 툴로 빠른 개발 서버와 빠른 번들링을 제공합니다.



👍 [ 더 빠른 서버 개발, 모던한 설계와 최적화 ]

네이티브 ES Module을 넘어 더욱 다양한 기능을 제공한다.

 

-  번들링 없이 모듈을 바로 브라우저에서 로드한다. 

- 개발 서버를 실행할 때 Vite는 전체 프로젝트를 번들링하지 않고 필요한 파일만 서버에서 제공하므로 서버 시작 속도가 매우 빠르다.

- 핫 모듈 교체(HMR : 코드를 수정하면 페이지를 새로 고침하지 변경된 부분만 즉시 반영 ) 성능도 Vite가 CRA보다 훨씬 빠릅니다.

- 최신 브라우저의 ES Module을 활용하여 번들링에 의존하지 않고 빠른 로딩을 지원하며 최신 JavaScript 기능을 적극적으로 활용하여 성능을 극대화한다. 또한 Vite는 코드 분할, 트리 쉐이킹(Tree-shaking), 캐싱 등 최신 최적화 기법을 자동으로 적용하여 성능을 극대화한다.

 

* Vite는 플러그인 시스템이 간편하게 되어 있어 추가적인 최적화와 확장이 더 쉽게 가능하다.

 

👊 [ 더 빠른 빌드 성능 ]

번들링 시, Rollup 기반의 다양한 빌드 커맨드를 사용할 수 있습니다. 이는 높은 수준으로 최적화된 정적(static) 리소스들을 배포할 수 있게끔 하며, 미리 정의된 설정(Pre-configured)을 제공합니다.

 

-  Rollup을 사용하여 프로덕션 빌드를 진행하며 빌드 과정에서 ESM 기반 코드 분할을 자동으로 처리한다.

- 빌드 프로세스는 매우 최적화되어 있어 대규모 프로젝트에서도 빌드 시간이 CRA에 비해 훨씬 짧다. 또한 빌드된 결과물 역시 더 가볍고 최적화되어 배포된다.

 

 

CRA에서 Vite를 지향하는 이유?
1 .CRA는 Webpack을 빌드 도구로 사용한다. Webpack은 프로젝트의 모든 모듈을 한 번에 번들링한 후 개발 서버를 시작하기 때문에 프로젝트가 커질수록 초기 서버 시작 시간과 새로고침 시간이 점점 느려진다.

2.CRA는 Webpack을 사용하여 모든 파일을 하나로 번들링한다. 이는 프로젝트가 클 경우 빌드 시간이 매우 길어지며 특히 코드 분할이 잘 되어 있지 않다면 초기 로딩 시간도 길어질 수 있다.

3. CRA는 Webpack을 중심으로 한 오래된 구조를 따르고 있어 성능 최적화에 한계가 있다. Webpack은 복잡한 설정과 긴 빌드 시간 문제로 인해 특히 최신 자바스크립트 생태계의 요구사항을 따라가는 데 어려움이 있다. 

 

 

 

💻 프로젝트 생성하기

# npm
npm create vite@latest
 
# yarn
yarn create vite
 
# pnpm
pnpm create vite
 
# bun
bun create vite
 
# 명령어 입력 후 아래와 같이 원하는 설정을 선택하면 된다.
> npx
> create-vite
 
# 1 프로젝트 이름 설정
✔ Project name: … vite-react-app
 
# 2 framework 설정
? Select a framework: › - Use arrow-keys. Return to submit.
    Vanilla
    Vue
❯   React
    Preact
    Lit
    Svelte
    Solid
    Qwik
    Others
 
  # 3 variant 설정
  ? Select a variant: › - Use arrow-keys. Return to submit.
    TypeScript
    TypeScript + SWC
❯   JavaScript
    JavaScript + SWC
    Remix ↗

 

 

📚 Vite 프로젝트 구조

my-react-app
│
├─ node_modules
├─ public
│   └─ vite.svg
│
├─ src
│   ├─ assets
│   ├─ App.jsx
│   ├─ App.css
│   ├─ index.css
│   └─ main.jsx
│
├─ index.html
├─ package.json
├─ vite.config.js
└─ README.md

 

 

 

 

 

'React.js' 카테고리의 다른 글

[React.JS] 소개  (0) 2025.10.25