Files
reader-star/apps/admin/build/plugins/index.ts

42 lines
1.2 KiB
TypeScript
Raw Normal View History

2026-01-16 13:06:44 +08:00
import type { PluginOption } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import progress from 'vite-plugin-progress'
import { setupAnalyzer } from './analyzer'
import { setupCompression } from './compression'
import { setupDeploy } from './deploy'
2026-01-16 13:06:44 +08:00
import { setupDevtoolsPlugin } from './devtools'
import { setupHtmlPlugin } from './html'
import { setupImageOptimizer } from './image-optimizer'
import { setupPWA } from './pwa'
2026-01-16 13:06:44 +08:00
import { setupElegantRouter } from './router'
import { setupUnocss } from './unocss'
import { setupUnplugin } from './unplugin'
export function setupVitePlugins(viteEnv: Env.ImportMeta, buildTime: string, isBuild: boolean) {
2026-01-16 13:06:44 +08:00
const plugins: PluginOption = [
// 基础插件
2026-01-16 13:06:44 +08:00
vue(),
vueJsx(),
setupDevtoolsPlugin(viteEnv),
setupElegantRouter(),
setupUnocss(viteEnv),
...setupUnplugin(viteEnv),
progress(),
setupHtmlPlugin(buildTime),
// 优化插件
setupImageOptimizer(),
setupCompression(),
setupPWA(),
setupDeploy(isBuild),
2026-01-16 13:06:44 +08:00
]
// 构建时添加打包分析插件
if (isBuild) {
plugins.push(setupAnalyzer())
}
2026-01-16 13:06:44 +08:00
return plugins
}