- 新增构建插件:打包分析、压缩、自动部署、图片优化和PWA支持 - 将SVG资源转换为WebP格式以提升加载性能 - 添加新的背景图片资源用于用户界面优化 - 更新环境配置:调整基础URL和服务地址 - 优化用户界面组件以适配新的资源格式 - 更新package.json依赖以支持新的构建功能 - 改进构建流程以支持自动部署和性能监控
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
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'
|
|
import { setupDevtoolsPlugin } from './devtools'
|
|
import { setupHtmlPlugin } from './html'
|
|
import { setupImageOptimizer } from './image-optimizer'
|
|
import { setupPWA } from './pwa'
|
|
import { setupElegantRouter } from './router'
|
|
import { setupUnocss } from './unocss'
|
|
import { setupUnplugin } from './unplugin'
|
|
|
|
export function setupVitePlugins(viteEnv: Env.ImportMeta, buildTime: string, isBuild: boolean) {
|
|
const plugins: PluginOption = [
|
|
// 基础插件
|
|
vue(),
|
|
vueJsx(),
|
|
setupDevtoolsPlugin(viteEnv),
|
|
setupElegantRouter(),
|
|
setupUnocss(viteEnv),
|
|
...setupUnplugin(viteEnv),
|
|
progress(),
|
|
setupHtmlPlugin(buildTime),
|
|
|
|
// 优化插件
|
|
setupImageOptimizer(),
|
|
setupCompression(),
|
|
setupPWA(),
|
|
setupDeploy(isBuild),
|
|
]
|
|
|
|
// 构建时添加打包分析插件
|
|
if (isBuild) {
|
|
plugins.push(setupAnalyzer())
|
|
}
|
|
|
|
return plugins
|
|
}
|