본문 바로가기
일상이 개발

React 개발 환경 세팅 완전 정복|CRA vs Vite 차이점과 설치 방법 (2025 최신)

by 아빠고미 2025. 6. 30.
반응형

✅ React 개발 환경 세팅 가이드 1부

CRA vs Vite, 설치부터 실행까지 (2025 최신 기준)


✨ 들어가며: 왜 React 개발 환경이 중요한가?

프론트엔드 개발에서 React 환경 설정은 단순한 시작 단계를 넘어서,
생산성, 속도, 구조화된 설계, 유지보수성에 직결되는 핵심 요소입니다. 😎

2025년 현재, 리액트를 시작하는 가장 대표적인 방법은 CRA(Create React App)Vite입니다.

둘 중 무엇을 선택해야 할까요?
성능은? 설정의 자유도는? 배포 속도는?
이 글에서 모든 궁금증을 해결해 드립니다! 🎯


🏁 목차

  1. CRA vs Vite, 무엇이 다른가요?
  2. 2025년 기준 CRA 설치 & 실행 가이드
  3. 2025년 기준 Vite 설치 & 실행 가이드
  4. 공통 프로젝트 구조 분석
  5. 성능 벤치마크 비교
  6. 상황별 추천 정리 (개발자/팀/학생 등)
  7. 마무리 총정리 요약

🚀 1. CRA vs Vite, 무엇이 다른가요?

항목 CRA (Create React App) Vite
🏗️ 설정 방식 webpack 기반 esbuild 기반 (개발), rollup 기반 (빌드)
⚡️ 빌드 속도 느림 매우 빠름
🔧 설정 커스터마이징 어려움 (eject 필요) 쉬움
🔄 HMR(핫 모듈 리로드) 상대적으로 느림 즉각 반영
🧩 플러그인 생태계 적음 풍부함
👥 커뮤니티 안정적 빠르게 성장 중
🧑‍🏫 학습 난이도 매우 쉬움 쉬움 (약간의 설정 이해 필요)

✅ 한 줄 요약: CRA는 전통적인 입문용, Vite는 빠르고 유연한 최신 방식입니다.


🛠️ 2. CRA 설치 & 실행 가이드 (2025 기준)

💡 CRA란?

Facebook에서 만든 React 부트스트래퍼로,
Webpack, Babel, ESLint 등이 기본 내장된 프로젝트 템플릿입니다.

🧩 CRA 설치 방법

npx create-react-app my-app
cd my-app
npm start

또는 yarn 사용 시:

yarn create react-app my-app
cd my-app
yarn start

📁 폴더 구조

my-app/
├── node_modules/
├── public/
├── src/
│   ├── App.css
│   ├── App.js
│   ├── index.js
├── .gitignore
├── package.json
└── README.md

🔄 개발 서버 확인

명령어 실행 후 브라우저에서 http://localhost:3000 접속 시 CRA 로고가 돌아가는 초기 화면이 뜨면 성공입니다. 🎉

🧪 CRA 장단점 요약

장점 😄 단점 😢
빠른 시작 가능 느린 초기 빌드
문서와 자료 풍부 설정 커스터마이징 어려움
구조가 정형화됨 최신 트렌드와 거리 있음
교육용에 적합 모바일 최적화 부족

⚡️ 3. Vite 설치 & 실행 가이드 (2025 기준)

💡 Vite란?

ESM 기반 초고속 프론트엔드 빌드 도구로, Vue의 개발자 Evan You가 만든 툴입니다.
React는 물론 Vue, Svelte 등 다양한 프레임워크에 대응하며 2025년 기준 CRA보다 더 선호됩니다.

⚙️ 설치 방법

npm create vite@latest

또는:

yarn create vite
pnpm create vite

선택 프롬프트 예시:

✔ Project name: › my-vite-app
✔ Select a framework: › React
✔ Select a variant: › JavaScript or TypeScript

이후 실행:

cd my-vite-app
npm install
npm run dev

📁 폴더 구조

my-vite-app/
├── node_modules/
├── public/
├── src/
│   ├── App.jsx
│   ├── main.jsx
├── index.html
├── vite.config.js
└── package.json

🔄 개발 서버 확인

브라우저에서 http://localhost:5173에 접속 후
Vite + React 화면이 보이면 성공입니다 ✅

🧪 Vite 장단점 요약

장점 🚀 단점 ⚠️
매우 빠른 빌드 속도 기업 환경에서 설정 요구됨
쉬운 설정 변경 초보자에겐 약간 생소
플러그인 생태계 활발 CRA 기반 튜토리얼과 호환 안됨
최신 웹 트렌드에 적합 Node 버전 오류 가능성

📌 여기까지 요약!

구분 CRA Vite
🧰 내부 구성 Webpack, Babel esbuild, rollup
🚀 속도 느림 빠름
🔧 설정 변경 어려움 쉬움
📈 트렌드 반영 느림 빠름
📦 설치 방식 npx create-react-app npm create vite@latest

👉 다음 편에서는:

  • CRA & Vite 폴더 구성 비교
  • 성능 벤치마크
  • 사용자 상황별 추천
  • CRA에서 Vite로 마이그레이션

📘 React 개발 환경 세팅 가이드 2부

CRA vs Vite, 실무 적용 비교와 마이그레이션 전략 (2025 기준)


🧩 4. CRA와 Vite의 프로젝트 구조 비교

두 개발 환경은 폴더 구조부터 주요 설정 방식까지 차이를 보입니다.
초보자나 협업을 고려할 경우, 이 구조 차이를 이해하는 것이 중요합니다.

CRA 기본 구조

my-app/
├── node_modules/
├── public/
│   └── index.html
├── src/
│   ├── App.js
│   ├── App.css
│   ├── index.js
├── .gitignore
├── package.json
└── README.md

Vite 기본 구조

my-vite-app/
├── node_modules/
├── public/
├── src/
│   ├── main.jsx
│   ├── App.jsx
├── index.html
├── vite.config.js
├── package.json
└── README.md
📌 주요 차이점 정리
  • index.html 위치: CRA는 /public, Vite는 루트에 위치
  • Entry 파일: CRA는 index.js, Vite는 main.jsx
  • Vite는 config 파일(vite.config.js)이 필수

📊 5. 성능 벤치마크 비교 (2025년 최신 Node 환경 기준)

항목CRAVite
⚙️ 개발 서버 시작 속도4.3초0.5초
🔄 HMR 반영 속도1.6초0.2초
📦 빌드 완료 속도16초6초
📁 번들 크기700KB500KB
🧪 Lighthouse 퍼포먼스 점수82점94점

✅ 요약: Vite는 개발 및 배포 모두에서 CRA보다 확실히 빠릅니다.


🎯 6. 상황별 추천 가이드

👶 입문자 / 튜토리얼 목적

  • CRA 추천: 설정 없이 바로 실행 가능
  • 학교 수업, 짧은 과제에 적합

👨‍💻 실무 개발자 / 스타트업

  • Vite 추천: 설정 자유도와 성능에서 압도적
  • 플러그인 활용 및 지속적인 성능 개선 가능

👥 팀 프로젝트 / 협업

  • Vite 추천: 빠른 리로딩과 설정 공유의 유리함
  • CRA는 협업 중 설정 변경이 어려움

📱 모바일 앱(WebView 기반)

  • Vite가 더 나은 성능과 용량 관리 제공
  • Tree shaking이 기본 적용됨

🔁 7. CRA 프로젝트를 Vite로 마이그레이션하는 법

기존에 CRA로 프로젝트를 시작했지만, 성능이나 설정상의 한계로 Vite로 옮기고 싶을 때 아래 순서를 따르세요.

🧹 1단계: 기존 CRA 정리

rm -rf node_modules
rm package-lock.json

🧱 2단계: Vite 기본 프로젝트 생성

npm create vite@latest
# 프롬프트에서 기존 CRA src 코드를 복사할 예정

📁 3단계: src 폴더 이관 및 index.html 정리

cp -r ../cra-project/src ./src

⚙️ 4단계: vite.config.js 설정

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  server: {
    port: 3000,
  }
})

📦 5단계: 의존성 재설치

npm install
npm run dev

✅ 정상 작동하면 성공입니다!


✅ 마무리 총정리

항목CRAVite
설치 방식npx create-react-appnpm create vite
속도느림매우 빠름
커스터마이징어려움쉬움
생태계안정적확장성 뛰어남
HMR느림즉시 반영
실무 추천

📝 결론: 2025년 기준으로는 Vite가 기본 선택지로 자리 잡고 있습니다.
CRA는 튜토리얼이나 간단한 데모용으로만 사용을 추천드립니다.

반응형