共享配置抽取
将公共配置抽取到独立文件,便于多环境复用和统一管理。
配置文件拆分
JavaScript
project/
├── vite.config.js # 入口配置
├── vite.base.config.js # 公共配置
├── vite.dev.config.js # 开发配置
└── vite.prod.config.js # 生产配置
公共配置文件
JavaScript
// vite.base.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
}
})
环境配置文件
JavaScript
// vite.dev.config.js
export default defineConfig({
server: {
port: 3000,
open: true
}
})
// vite.prod.config.js
export default defineConfig({
build: {
minify: 'terser',
sourcemap: false
}
})
组合配置
JavaScript
// vite.config.js
import { defineConfig, mergeConfig } from 'vite'
import baseConfig from './vite.base.config'
import devConfig from './vite.dev.config'
import prodConfig from './vite.prod.config'
export default defineConfig(({ command }) => {
const envConfig = command === 'serve' ? devConfig : prodConfig
return mergeConfig(baseConfig, envConfig)
})
mergeConfig 用法
text
import { mergeConfig } from 'vite'
// 合并两个配置
const merged = mergeConfig(configA, configB)
| 特点 | 说明 | |
|---|---|---|
| 深度合并 | 数组和对象都会合并 | |
| 优先级 | configB 覆盖 configA 相同项 | |
| 数组处理 | 数组会追加而非替换 |
注意:mergeConfig 是 Vite 提供的配置合并工具函数。
配置抽取优势
| 优势 | 说明 | |
|---|---|---|
| 复用性 | 公共配置多处复用 | |
| 可维护 | 配置职责清晰分离 | |
| 扩展性 | 新增环境配置简单 | |
| 统一管理 | 修改一处生效多处 |
要点总结
- 公共配置抽取到独立文件
- 环境配置按场景拆分
- 使用 mergeConfig 组合配置
- 提升配置可维护性和复用性
📝 发现内容有误?点击此处直接编辑