vite 区分环境配置
ts
import { defineConfig } from 'vite'
import viteBaseConfig from './vite.base.config'
import viteDevConfig from './vite.dev.config'
import viteProdConfig from './vite.prod.config'
// 策略模式(就是 Map 优化 ifelse)
const envResolver = {
"build": () => {
return { ...viteBaseConfig, ...viteProdConfig }
},
"serve": () => {
return { ...viteBaseConfig, ...viteDevConfig }
}
}
export default defineConfig(({ command }) => {
return envResolve[command]()
})
TODO: vite 源码内置了很多 plugin 来实现 out of box,并且文档没有介绍,找到相应的源码和 plugin 手写一次,如
awesome-vite 里的 plugin 源码学习