diff --git a/package.json b/package.json index 421cf402..89ac747f 100644 --- a/package.json +++ b/package.json @@ -99,6 +99,7 @@ "unplugin-icons": "^0.16.1", "unplugin-vue-components": "^0.24.1", "vite": "^4.4.2", + "vite-plugin-compression": "^0.5.1", "vite-plugin-svg-icons": "^2.0.1", "vue-tsc": "^1.6.5 " }, diff --git a/vite.config.ts b/vite.config.ts index 6f208d78..f14d92ac 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -12,8 +12,10 @@ import IconsResolver from "unplugin-icons/resolver"; import { createSvgIconsPlugin } from "vite-plugin-svg-icons"; import UnoCSS from "unocss/vite"; - import path from "path"; + +import viteCompression from "vite-plugin-compression"; + const pathSrc = path.resolve(__dirname, "src"); export default defineConfig(({ mode }: ConfigEnv): UserConfig => { @@ -101,6 +103,15 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => { // 指定symbolId格式 symbolId: "icon-[dir]-[name]", }), + // 代码压缩 + viteCompression({ + verbose: true, // 默认即可 + disable: true, // 是否禁用压缩,默认禁用,true为禁用,false为开启,打开压缩需配置nginx支持 + deleteOriginFile: true, // 删除源文件 + threshold: 10240, // 压缩前最小文件大小 + algorithm: "gzip", // 压缩算法 + ext: ".gz", // 文件类型 + }), ], // 预加载项目必需的组件 optimizeDeps: {