Vue3, Firebase 프로젝트 - 채팅앱 VSignal

2. Vue3 프로젝트 - vite 빠른 프론트엔드 빌드 도구

그랜파 개발자 2025. 3. 11. 05:05

프론트엔드 빌드 도구

프론트엔드 빌드 도구는 웹 애플리케이션의 코드를 최적화하고 배포할 수 있도록 변환하는 도구입니다.
개발자는 코드를 작성하기 편리한 형태로 유지하고, 빌드 도구는 이를 브라우저가 이해할 수 있는 형태로 변환해 줍니다.

Vue 3 + Firebase 프로젝트에서는 Vite가 가장 적합하다고 합니다.

나의 말:

vite가 뭐야?

ChatGPT의 말:

🚀 Vite란?

Vite는 Vue, React 등 최신 프레임워크에서 사용하는 빠른 프론트엔드 빌드 도구야. 기존의 Webpack보다 훨씬 빠르게 개발 서버를 실행하고, 파일 변경 시 즉각적으로 반영하는 기능이 강력하지.

🔍 Vite의 특징

1. 빠른 개발 서버

  • 기존 Webpack은 프로젝트 전체를 번들링하지만, Vite는 필요한 파일만 즉시 변환해서 실행해.
  • 그래서 서버 시작 속도가 빠르고, 변경 사항이 즉시 반영됨 (Hot Module Replacement, HMR).

2. ES 모듈 (ESM) 기반 빌드

  • Vite는 브라우저가 직접 ESM을 사용하도록 하여 빌드 속도를 높여.
  • Webpack처럼 파일을 하나로 묶지 않고, 필요한 파일만 동적으로 로드하는 방식이야.

3. 최적화된 번들링 (Build 단계)

  • 개발 환경에서는 빠른 응답이 중요하지만, 실제 배포 시에는 코드 최적화가 필요해.
  • Vite는 Rollup을 사용해 최적화된 번들링을 수행해. (Webpack보다 빠르게 작동)

4. Vue, React, Svelte 등 다양한 프레임워크 지원

  • vite create 명령어를 사용하면 Vue, React 등의 환경을 자동으로 설정해 줘.

🎯 Vite vs Webpack 비교

비교 항목ViteWebpack

개발 서버 속도 🚀 매우 빠름 🐢 느림 (전체 번들링)
HMR 속도 즉각적 반영 비교적 느림
빌드 방식 ES 모듈 (ESM) 사용 번들링된 파일 로드
번들링 속도 빠름 (Rollup 사용) 느림 (Webpack 자체 번들링)

🛠 Vite 사용 방법

1. Vue 프로젝트 생성

npm create vite@latest my-vue-app --template vue
cd my-vue-app
npm install
npm run dev

2. React 프로젝트 생성

npm create vite@latest my-react-app --template react
cd my-react-app
npm install
npm run dev

🔥 정리

✅ Vite는 Webpack보다 빠른 개발 서버와 빠른 HMR(핫 리로드)를 제공
✅ ESM을 기반으로 동작하여 불필요한 번들링을 최소화
✅ Vue, React, Svelte 등 모든 최신 프레임워크에서 사용 가능
✅ Webpack 대비 더 빠른 빌드 & 번들링 성능 제공

쉽게 말해, Vite는 최신 프론트엔드 개발을 더 빠르고 편리하게 만들어주는 도구야! 🚀
Vue 3 + Vite 조합은 성능이 정말 좋아서 채팅앱 같은 실시간 애플리케이션에 딱이야. 😃

나의 말:

나는 firebase hosting을 할 것인데.... vite 사용가능한가?

ChatGPT의 말:

네! Firebase Hosting에서 Vite를 문제없이 사용할 수 있어. 😃
Vite는 Firebase Hosting과 완벽하게 호환되며, 정적 파일을 빌드해서 배포하면 돼.

Vite + Firebase Hosting 설정 방법

1. Firebase 프로젝트 설정

터미널에서 Firebase CLI를 설치하고 로그인:

npm install -g firebase-tools
firebase login

 

그다음, 프로젝트 루트에서 Firebase 초기화:

firebase init hosting

 

설정 시 선택 옵션

"What do you want to use as your public directory?" → dist 입력
→ Vite는 dist 폴더에 빌드된 파일을 저장하니까 여기를 배포 폴더로 지정
"Configure as a single-page app?" → Yes 선택
→ Vue 앱은 SPA(싱글 페이지 앱)라서 필요함

2. Vite 프로젝트 빌드

Firebase Hosting은 정적 파일을 배포하는 방식이라 Vite 프로젝트를 먼저 빌드해야 해.

npm run build

 

Vite는 기본적으로 dist/ 폴더에 빌드된 파일을 생성해.

3. Firebase Hosting 배포

이제 Firebase Hosting에 배포하면 돼!

firebase deploy

 

🚀 배포가 완료되면 Firebase에서 제공하는 URL이 출력됨.
브라우저에서 확인하면 배포된 Vue + Vite 앱을 볼 수 있어! 😃

Firebase Hosting에서 Vite 사용 시 유의할 점

1. 환경변수 (.env)는 import.meta.env 사용

  • Vite에서는 .env 파일의 변수들을 import.meta.env.VITE_XXX 형식으로 접근해야 해.
  • Firebase Hosting에서는 .env가 배포되지 않으니, 환경변수는 Firebase Functions 또는 .env.production을 사용해.

2. 라우팅 문제 해결 (firebase.json 설정)

  • Vue는 SPA라서 새로고침하면 404 오류가 발생할 수 있어.
  • 이를 방지하려면 firebase.json에서 리다이렉트를 설정해야 해.
{
  "hosting": {
    "public": "dist",
    "rewrites": [
      { "source": "**", "destination": "/index.html" }
    ]
  }
}

🎯 정리

✅ Firebase Hosting에서 Vite 완벽하게 사용 가능
✅ vite build로 정적 파일을 생성하고 Firebase Hosting에 배포
✅ .env 환경변수와 라우팅 문제 해결만 주의하면 끝!

👉 이제 Firebase Hosting으로 배포까지 한 번 해볼까? 🚀