[React] Vite란?

박은경·2025년 1월 28일
post-thumbnail

최근 React를 활용해서 정말 오랜만에 개인 프로젝트를 하나 진행하게 되었는데, GPT가 Vite라는 빌드 도구를 강력 추천해줬다.
그래서 오늘은 Vite가 뭔지, 어떤 장단점이 있는지 정리해보려고 한다.

Vite란?

Vite는 빠르고 간단한 웹 개발 환경을 제공하기 위해 만들어진 모듈 번들러이자 빌드 도구이다. React, Vue, Svelte 같은 최신 프론트엔드 프레임워크와 함께 사용할 수 있으며, 특히 개발 서버와 빌드 속도에서 탁월한 성능을 보여줘서 최근 많은 개발자들이 선호하고 있다.

Vite vs Create React App (CRA)

Vite의 장점

  1. 빠른 개발 서버
    Vite는 브라우저의 네이티브 ES 모듈을 사용하여 번들링 과정 없이 코드를 실행한다. 개발 중에 코드 변경 사항이 있을 때 전체 애플리케이션을 다시 번들링하는 대신, 필요한 모듈만 즉각적으로 업데이트하기 때문에 Hot Module Replacement(HMR) 속도가 매우 빠르다.

  2. 효율적인 빌드
    Vite는 개발 서버와 빌드 프로세스를 분리하고, 빌드 시에는 Rollup을 사용하여 코드 분할 및 최적화를 수행한다. 결과적으로 대규모 프로젝트에서도 빌드 시간이 매우 짧고 효율적이다.

  3. 경량화된 설정
    Vite는 기본적으로 간단한 설정으로 바로 프로젝트를 시작할 수 있으며, 필요할 경우 설정 파일(vite.config.js)을 통해 쉽게 커스터마이징할 수 있다.

  4. 최신 웹 기술 지원
    Vite는 ES 모듈, 네이티브 브라우저 지원을 활용하며, 최신 브라우저 환경에서 최적의 성능을 발휘한다. 또한, 레거시 브라우저 지원도 필요한 경우 플러그인을 통해 쉽게 확장 가능하다.

더 자세한 내용이 궁금하다면 vite 공식 가이드를 확인해보길 바랍니다.
https://ko.vite.dev/guide/why.html

Vite의 단점

  1. 레거시 브라우저 지원 제한
    Vite는 최신 브라우저 환경을 기본으로 설계되었기 때문에, IE11 같은 레거시 브라우저를 직접적으로 지원하지 않아. 레거시 브라우저 지원이 필요한 경우, 추가적인 플러그인(@vitejs/plugin-legacy)을 설정해야 함.
    영향: 오래된 브라우저를 사용하는 사용자가 많은 프로젝트에는 부적합할 수 있음.

  2. 복잡한 프로젝트에서 초기 설정 부족
    설명: Vite는 기본적으로 간단하고 빠른 개발 환경을 제공하지만, 대규모 프로젝트나 복잡한 설정이 필요한 경우 초기 세팅이 부족하게 느껴질 수 있음. Webpack이나 CRA처럼 기본 설정이 강력하지 않음.
    영향: 고도화된 빌드 설정이 필요한 프로젝트에서는 추가적인 설정 작업이 필요함.

  3. 플러그인 의존성
    설명: Vite의 기능 확장은 대부분 플러그인에 의존함. 기본 기능은 경량화되어 있지만, 추가 요구사항이 많아질수록 플러그인 설치와 설정 작업이 늘어날 수 있음.
    영향: Webpack처럼 올인원 솔루션을 기대하는 경우 적응이 어려울 수 있음.

  4. 생태계의 비교적 낮은 성숙도
    설명: Vite는 상대적으로 새로운 도구(2020년 출시)라 Webpack과 비교했을 때 생태계와 커뮤니티의 성숙도가 낮을 수 있음. 특정 요구사항에 맞는 자료나 해결책을 찾는 데 시간이 걸릴 가능성도 있음.
    영향: 독특한 설정이 필요한 경우 관련 자료를 찾는 데 Webpack보다 어려울 수 있음.

  5. 초기 학습 곡선
    설명: ES 모듈이나 최신 웹 기술에 익숙하지 않은 초보자에게는 Vite의 동작 원리(번들링 없는 개발 서버, Rollup 기반 빌드 등)가 생소할 수 있음.
    영향: 기존의 CRA나 Webpack 환경에 익숙한 개발자라면 적응 기간이 필요할 수 있음.

  6. 빌드 후 성능 최적화 한계
    설명: Vite의 빌드는 Rollup을 기반으로 작동하기 때문에, Webpack처럼 복잡한 트리쉐이킹(tree-shaking)이나 코드를 세밀하게 최적화하기는 어려움.
    영향: 매우 복잡하거나 성능 최적화가 중요한 대규모 프로젝트에서는 한계가 있을 수 있음.

결론적으로는 Vite는 빠르고 간단한 개발 환경을 제공하는 데 탁월하지만, 레거시 브라우저 지원이나 대규모 프로젝트의 설정 요구사항에 따라 한계가 있을 수 있다.
특히, 최신 기술을 사용하는 프로젝트나 단기 개발에는 적합하지만, 오래된 기술과 호환성 요구가 높은 경우에는 Webpack과 같은 다른 도구를 선택하는 것이 더 나을 수도 있겠다.

profile
생각을 하자💡

0개의 댓글