Vite Configuration
Vite build tool setup and optimization.
Installation & Setup
Create Vite project
npm create vite@latest
npm create vite@latest my-app -- --template react
Available templates
vanilla, vue, react, preact, lit, svelte
Install dependencies
cd my-app
npm install
Dev server
npm run dev
Build for production
npm run build
Preview production build
npm run preview
Basic Configuration
vite.config.js
import { defineConfig } from vite
export default defineConfig({
root: ./src,
base: /,
publicDir: ../public,
build: {
outDir: ../dist,
assetsDir: assets,
sourcemap: true
}
})
Server configuration
server: {
port: 3000,
open: true,
proxy: {
/api: http://localhost:8080
}
}
Build Optimization
Code splitting
build: {
rollupOptions: {
output: {
manualChunks: {
vendor: [react, react-dom],
utils: [./src/utils]
}
}
}
}
Minification
build: {
minify: terser,
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
}
}
Asset size warning
build: {
chunkSizeWarningLimit: 1000
}
Plugins & Features
Install React plugin
npm install @vitejs/plugin-react
Use plugin
import react from @vitejs/plugin-react
export default defineConfig({
plugins: [react()]
})
Environment variables
.env file:
VITE_API_URL=https://api.example.com
Access in code:
import.meta.env.VITE_API_URL
Path aliases
resolve: {
alias: {
@: path.resolve(__dirname, ./src),
@components: path.resolve(__dirname, ./src/components)
}
}