首先让我们看一个基础的 Vite 配置文件结构:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
export default defineConfig({
// 配置项
})
export default defineConfig({
base: './', // 开发或生产环境服务的公共基础路径
})
作用说明:
export default defineConfig({
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
'@components': path.resolve(__dirname, 'src/components'),
'@assets': path.resolve(__dirname, 'src/assets')
}
}
})
作用说明:
export default defineConfig({
server: {
host: '0.0.0.0',
port: 3000,
open: true,
https: false,
proxy: {
'/api': {
target: 'http://your-api-server.com',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')
}
}
}
})
作用说明:
export default defineConfig({
build: {
target: 'es2015',
outDir: 'dist',
assetsDir: 'assets',
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
},
rollupOptions: {
output: {
chunkFileNames: 'js/[name]-[hash].js',
entryFileNames: 'js/[name]-[hash].js',
assetFileNames: '[ext]/[name]-[hash].[ext]'
}
}
}
})
作用说明:
export default defineConfig({
css: {
preprocessorOptions: {
scss: {
additionalData: `
@import "@/styles/variables.scss";
@import "@/styles/mixins.scss";
`
}
},
modules: {
localsConvention: 'camelCase'
}
}
})
作用说明:
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import legacy from '@vitejs/plugin-legacy'
export default defineConfig({
plugins: [
vue(),
vueJsx(),
legacy({
targets: ['ie >= 11'],
additionalLegacyPolyfills: ['regenerator-runtime/runtime']
})
]
})
作用说明:
export default defineConfig({
define: {
'process.env': {
VUE_APP_API: JSON.stringify('your-api-url')
}
}
})
作用说明:
export default defineConfig({
optimizeDeps: {
include: ['lodash-es', 'vue'], // 预构建依赖
},
build: {
chunkSizeWarningLimit: 2000, // 文件大小警告的限制 (KB)
sourcemap: false, // 生产环境是否生成 sourcemap
brotliSize: false, // 禁用 brotli 压缩大小报告
}
})
作用说明:
以上就是 Vite 在 Vue3 项目中最常用和最重要的配置项。每个配置项都有其特定的用途,可以根据项目需求灵活配置。正确的配置可以:
建议根据实际项目需求选择合适的配置项进行配置。