전체 치트시트프런트엔드 개발

vite

Vite 5+

Vite CLI 명령어 빠른 참조 — 개발 서버, 빌드, 미리보기, 의존성 사전 번들링, 플러그인 관리, 환경 변수, 프로젝트 검사 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.

명령어 30개

개발 서버

vite

프로젝트 루트의 `vite.config.*`를 사용해 개발 서버를 시작합니다. 기본적으로 `http://localhost:5173`에 바인딩되며 프레임워크 preset을 자동 감지합니다.

--port <N>; --host <0.0.0.0|...> 네트워크에 노출; --open 브라우저 열기; --strict 포트 강제; --force 의존성 재번들 강제

vite --port 4000 --host
vite --port <N>

개발 서버를 특정 포트에 바인딩합니다(`--strict`도 함께 쓰지 않으면 사용 중이면 다음 빈 포트를 사용).

vite --port 4000 --strict
vite --host

개발 서버를 모든 네트워크 인터페이스에 노출합니다(기본은 `localhost`). `--port`와 함께 쓰면 안정적인 LAN URL이 됩니다.

vite --host 0.0.0.0 --port 5173
vite --open

준비가 완료되면 기본 브라우저를 개발 서버 URL로 엽니다.

--open /path/to/route 특정 라우트로 열기

vite --open /admin
vite --force

다음 요청 시 의존성 사전 번들링(esbuild)을 강제로 다시 실행합니다. 새 의존성을 추가했거나 `.vite` 캐시가 손상된 후 사용합니다.

vite --force

빌드

vite build

기본적으로 `dist/`에 운영 번들을 생성합니다. Rollup을 사용하며 코드 스플리팅, 트리 셰이킹, CSS 추출, 소스 맵, 자산 해싱을 지원합니다.

--mode development|production; --target es2020|...; --sourcemap; --minify esbuild|terser; --outDir dist

vite build
vite build --watch

감시 소스 파일이 바뀔 때마다 다시 실행되는 운영 빌드입니다. 거의 필요 없으며, 주로 다른 빌드 파이프라인 안에 Vite를 임베드할 때 사용합니다.

vite build --watch
vite build --mode <name>

`globalThis._importMeta_.env.MODE`와 `.env.<mode>` override(`.env.development`, `.env.staging`)를 결정하는 모드를 선택합니다.

vite build --mode staging && vite build --mode production
vite build --sourcemap

외부 `.map` 파일을 생성합니다(기본은 운영에서 숨김). Sentry / LogRocket 배포와 함께 스택 트레이스를 위해 사용합니다.

vite build --sourcemap

미리보기

vite preview

새로 빌드된 `dist/`를 로컬 정적 서버로 서빙해, 배포 전에 운영 번들을 점검할 수 있게 합니다.

--port <N>; --host; --strict; --outDir dist

vite preview --port 4173 --strict

의존성 최적화

vite optimizeDeps

개발 서버를 시작하지 않고 의존성 사전 번들링을 수동으로 트리거합니다. CI에서 `node_modules/.vite/deps`를 미리 채우는 데 유용합니다.

--force; --config <file>

vite optimizeDeps --force
vite optimizeDeps include <pkg>

자동으로 감지되지 않는 CommonJS 의존성의 사전 번들링을 강제합니다. CLI 대신 `vite.config.ts`의 `optimizeDeps.include`를 편집하세요.

vite optimizeDeps

진단

vite --version

Vite 버전을 출력합니다.

vite --version
vite info

환경 정보를 출력합니다(Node 버전, OS, 패키지 매니저, Vite 버전, 주요 플러그인 버전) — 버그 리포트에 첨부하세요.

vite info
vite --debug

자세한 내부 로깅을 활성화합니다. 플러그인 / HMR 문제를 추적할 때 파일로 파이프하세요.

vite --debug > vite-debug.log 2>&1

설정

vite --config <file>

Vite가 사용할 설정 파일을 지정합니다(CI는 추가 플러그인이 있는 `vite.config.ci.ts`를 흔히 사용).

vite --config vite.config.ci.ts build
vite --configLoader <runner>

Vite 6+ — 설정을 로드하는 방식을 선택합니다(Vite 6부터 `bundle`이 기본; `runner` / `native` / `transform`은 비-Node 환경용 대안).

vite --configLoader runner build

플러그인 CLI

vite plugin <name>

일부 Vite 플러그인이 등록한 stub 명령(예: `vite-plugin-pwa`의 `vite pwa-asset-generate`). 그대로 통과합니다.

vite pwa-asset-generate

커스터마이징

vite --base <path>

운영 자산의 공개 경로를 설정합니다(기본 `/`). 리버스 프록시 뒤의 하위 경로에서 서빙할 때는 `/my-site/`을 사용하세요.

vite build --base /gurutoolkit/
vite --logLevel <level>

Vite 로그 양을 제어합니다: `info`(기본) / `warn` / `error` / `silent`.

vite build --logLevel warn
vite --clearScreen false

리로드 사이에 터미널을 지우지 않습니다 — Vite 출력을 다른 도구(tmux / 로그)로 파이프할 때 유용합니다.

vite --clearScreen false | tee vite.log

빌드 타깃

vite build --target <browserslist>

Rollup에 최소 브라우저 타깃을 알립니다. Vite는 esbuild 설정에 따라 신택스를 다운레벨링합니다. 레거시 타깃은 더 큰 번들을 생성합니다.

vite build --target es2020,edge88,firefox78,chrome87,safari14
vite build --cssCodeSplit

라우트별로 CSS를 별도 청크로 출력합니다(Vite 4부터 기본 true). 모든 것을 한 파일로 인라인하려면 `--cssCodeSplit=false`를 사용하세요.

vite build --cssCodeSplit=false
vite build --minify <esbuild|terser>

미니파이어를 선택합니다. esbuild는 빠른 기본값이고, `terser`는 레거시 브라우저용으로 약간 더 작은 결과를 만듭니다.

vite build --minify terser

캐시

vite --force

`node_modules/.vite/deps`를 삭제하고 다시 번들링합니다 — 메이저 업그레이드 후 오래된 사전 번들 의존성 문제를 해결합니다.

rm -rf node_modules/.vite && vite --force
rm -rf node_modules/.vite

Vite 캐시를 수동으로 비웁니다. 다음 개발 시작 시 `vite --force`와 같은 효과입니다.

rm -rf node_modules/.vite && vite

기타

vite --help

모든 CLI 플래그를 한 줄 설명과 함께 나열합니다.

vite --help
vite create <name>

Vite 프로젝트를 스캐폴딩합니다(구식 `create-vite` 바이너리). 지금은 `npm create vite@latest`(npx로 라우팅) 사용이 표준입니다.

--template vue | react | svelte | lit | vanilla | 기타

npm create vite@latest my-app -- --template vue-ts
npx vite-node <script.ts>

Vite가 SSR에 사용하는 동일한 환경에서 TypeScript 스크립트를 실행합니다 — 전체 모듈 해석, 별칭, 환경 변수가 적용됩니다.

--options.transformMode ssr | web

npx vite-node scripts/seed.ts
vite --cjs

설정을 CommonJS 파일로 로드하도록 강제합니다(레거시 프로젝트용). CJS 전용 스택에서 마이그레이션할 때만 사용하세요.

vite --cjs build

관련 명령어 치트시트

Vite 소개

Vite(프랑스어로 "빠른"이라는 뜻)는 Evan You(Vue.js 창시자)가 작성하고 Vite 팀이 유지보수하는 차세대 프런트엔드 빌드 도구로, 2021년 4월 1.0이 출시되었고 현재 안정 라인은 Vite 5 / 6입니다. Vite는 개발 중에는 네이티브 ESM으로 소스 코드를 서빙합니다 — esbuild가 의존성을 사전 번들링하고 Rollup 기반 HMR이 밀리초 단위로 소스 업데이트를 처리합니다 — 그리고 운영용 번들은 Rollup으로 만듭니다. webpack과 비교해 Vite는 개발 중 번들 단계를 건너뛰어 대규모 프로젝트에서도 콜드 스타트 시간이 수 초에서 300ms 미만으로 줄어듭니다. Vite는 프레임워크에 구애받지 않습니다 — Vue, React, Svelte, Preact, Lit, Solid, Qwik, vanilla TS용 공식 템플릿이 있고, 커뮤니티 플러그인은 Astro, Nuxt, SvelteKit, Remix 등을 다룹니다. 설정은 `vite.config.ts`(또는 `.js`/`.mjs`)에 있으며, Rollup 호환 플러그인 API와 큐레이션된 Vite 전용 hook을 사용합니다. Vite는 코드를 어디에도 업로드하지 않으며, 모든 개발/빌드 실행은 로컬입니다. 운영 번들은 어디에나(Vercel, Netlify, nginx, S3) 배포할 수 있는 정적 자산으로 출시됩니다.

치트시트 버전 1.0.0