Vite Cheatsheet - Vite Build Tool Command Reference
Essential Vite build tool commands for the complete workflow from project creation to production build. Copy directly for your projects.
Back to Dev ToolsProject Creation & Init 5
npm create vite@latestCreate new project, interactive template selection
npm create vite@latest my-app -- --template react-tsSpecify template: react-ts / vue-ts / svelte-ts
npm create vite@latest my-app -- --template vanilla-tsPlain TypeScript template, no framework
npm installInstall project dependencies
npm run devStart dev server (default port 5173)
Dev Server 7
viteStart dev server, default port 5173
vite --port 3000Specify port number
vite --host 0.0.0.0Listen on all network interfaces, LAN access
vite --openAuto open browser on start
vite --corsEnable CORS headers
vite --strictPortExit if port is taken instead of auto-increment
vite --forceForce re-run dependency pre-bundling
Production Build 7
vite buildProduction build, outputs to dist
vite build --outDir distSpecify output directory (default dist)
vite build --watchWatch mode, rebuild on file changes
vite build --sourcemapGenerate source maps for debugging
vite build --minify esbuildUse esbuild for minification (default terser)
vite previewPreview build output, simulates production
vite build --reportGenerate build report (requires plugin)
Configuration 7
import { defineConfig } from 'vite'Use defineConfig for type hints and autocomplete
root: './src'Project root directory, defaults to current dir
base: '/my-app/'Public base path, set when deploying to sub-path
build.outDir: 'dist'Build output directory
build.assetsDir: 'assets'Static assets subdirectory
build.target: 'es2020'Build target browser version
build.emptyOutDir: trueEmpty output directory before build
Env Variables & Modes 6
globalThis._importMeta_.env.VITE_API_URLClient env vars, must have VITE_ prefix
globalThis._importMeta_.env.MODECurrent mode: development / production
globalThis._importMeta_.env.DEVBoolean, whether in dev mode
globalThis._importMeta_.env.PRODBoolean, whether in production mode
vite build --mode stagingBuild with specified mode, loads .env.staging
loadEnv(mode, process.cwd(), '')Load env vars in vite.config.ts
Plugins & Integration 6
import vue from '@vitejs/plugin-vue'Vue 3 SFC support plugin
import react from '@vitejs/plugin-react'React Fast Refresh support plugin
import { visualizer } from 'rollup-plugin-visualizer'Bundle size visualization
vite-plugin-pwaPWA progressive web app support
vite-plugin-checkerTypeScript/ESLint type checking, async non-blocking
vite-plugin-inspectInspect Vite plugin intermediate state, debug plugins
SSR & Library Mode 6
build.ssr: trueEnable SSR server-side rendering build
build.ssrManifest: trueGenerate SSR manifest for preload hints
build.lib: { entry: 'src/index.ts', name: 'MyLib' }Library mode, package as publishable library
build.lib.formats: ['es', 'cjs', 'umd']Library output formats: ESM / CommonJS / UMD
ssr.external: ['vue']Externalize dependencies in SSR, not bundled
ssr.noExternal: ['my-lib']Force bundle certain dependencies in SSR
💡 Tips
- Vite dev server uses native ESM, no bundling needed for instant cold start
- Use vite.config.ts for configuration with full TypeScript support
- Environment variables with VITE_ prefix are exposed to client code
- Use defineConfig utility for type hints and autocomplete
- Vite has first-class support for Vue, React, Svelte, Lit frameworks