Vite Optimization
Advanced Vite build optimization.
Build Optimization
Chunk size warnings
build: {
chunkSizeWarningLimit: 1000
}
Manual chunks
build: {
rollupOptions: {
output: {
manualChunks: {
vendor: [react, react-dom],
utils: [./src/utils]
}
}
}
}
Code Splitting
Dynamic imports
const Component = lazy(() => import(./Component));
Route-based splitting
const Home = lazy(() => import(./pages/Home));
const About = lazy(() => import(./pages/About));
With Suspense
fallback={Loading...}>
Asset Handling
Public directory
public/ // served at root
public/logo.png → /logo.png
Import assets
import logo from ./assets/logo.png
// Returns: /assets/logo.a3b2c1d4.png
URL imports
import workerUrl from ./worker?url
import shaderString from ./shader.glsl?raw
Environment Variables
.env file
VITE_API_URL=https://api.example.com
VITE_APP_TITLE=My App
Access in code
const apiUrl = import.meta.env.VITE_API_URL;
Built-in variables
import.meta.env.MODE // development/production
import.meta.env.DEV // boolean
import.meta.env.PROD // boolean