CRA랑 VITE는 같은거 아닌가?
둘다 리액트 프로젝트를 생성할때 사용하니 같은 비교군에 있다고 생각했다.
그렇지만, VITE는 빌드도구이며, CRA와 비교할 수 있는건 create-VITE라는 것이라고 한다.
VITE는 ES모듈로 빌드한다고 했던 것같은데 좀더 자세히 공부해야할 필요가 있을것 같다.
: 비트가 나오게 된 배경은 웹팩보다 빠르게 개발
하고 배포
할 수 있기 때문이다.
: 매번 번들링을 하지 않기 때문에 개발 속도가 빠를 수 있음
VITE는 모듈을 dependencies
와 source code
로 구분한다.
dependencies
: 개발시 내용이 변경되지 않을 일반적인 소스 코드
사전 번들링은 ESBuild가 함
source code
: JSX, CSS 컴포넌트와 같이 컴파일링이 필요하고 수정이 잦은 일반적이지 않은 소스 코드
ESM을 사용해서 브라우저에게 소스 코드를 제공
기존의 번들러(예: webpack) | VITE |
---|---|
🐢 모듈 번들링이 완료된 후에 개발 서버를 구동 🐢 | ⚡️ ESM을 사용해서 브라우저가 요청하는 수정된 모듈(source code)만 전송해주고 브라우저가 모듈 번들링 기능을 수행함 ⚡️ (사전 번들링은 ESBuild가 함) |
: Rollup을 사용함.
중첩된 import로 인해 추가 네트워크 통신이 발생
되므로 전체 페이지 로드 시간이 증가하여 비효율적이기 때문이다. 중첩된 import로 인해 추가 네트워크 통신이 발생
: 브라우저가 스크립트를 다운로드, 실행 -> 중첩된 import를 만나 해당 모듈을 다운로드, 실행 -> ...
: ES6에 도입된 모듈 시스템으로, import, export를 사용해서 분리되어 있는 자바스크립트 파일끼리 접근이 가능하게 해줌
챗지피티로 공부한 내용
VITE 공식문서
캡틴판교
VITE란
⭐️차세대 번들러 비교 및 분석 (feat. webpack, rollup, esbuild, vite)