diff --git a/Yi.Ai.Vue3/.build/plugins/index.ts b/Yi.Ai.Vue3/.build/plugins/index.ts index c3b16160..8138f0ca 100644 --- a/Yi.Ai.Vue3/.build/plugins/index.ts +++ b/Yi.Ai.Vue3/.build/plugins/index.ts @@ -1,10 +1,14 @@ import type { ConfigEnv, PluginOption } from 'vite'; import path from 'node:path'; import vue from '@vitejs/plugin-vue'; +import { visualizer } from 'rollup-plugin-visualizer'; import UnoCSS from 'unocss/vite'; import AutoImport from 'unplugin-auto-import/vite'; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; + import Components from 'unplugin-vue-components/vite'; +import viteCompression from 'vite-plugin-compression'; + import envTyped from 'vite-plugin-env-typed'; import createSvgIcon from './svg-icon'; @@ -33,6 +37,26 @@ function plugins({ mode, command }: ConfigEnv): PluginOption[] { dts: path.join(root, 'types', 'components.d.ts'), }), createSvgIcon(command === 'build'), + + // ✅ Gzip 构建产物压缩(仅生产构建) + command === 'build' + && viteCompression({ + verbose: true, + disable: false, + threshold: 10240, + algorithm: 'gzip', + ext: '.gz', + }), + + // ✅ 构建分析图(仅生产构建) + command === 'build' + && visualizer({ + filename: './dist/stats.html', + open: false, // 打包后自动打开分析图(true 可开启) + gzipSize: true, + brotliSize: true, + }), + ]; } diff --git a/Yi.Ai.Vue3/index.html b/Yi.Ai.Vue3/index.html index ad58c31d..eb48f78d 100644 --- a/Yi.Ai.Vue3/index.html +++ b/Yi.Ai.Vue3/index.html @@ -111,49 +111,19 @@
-