| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- import type { Plugin } from "vite";
 
- import { isArray } from "@pureadmin/utils";
 
- import compressPlugin from "vite-plugin-compression";
 
- export const configCompressPlugin = (
 
-   compress: ViteCompression
 
- ): Plugin | Plugin[] => {
 
-   if (compress === "none") return null;
 
-   const gz = {
 
-     // 生成的压缩包后缀
 
-     ext: ".gz",
 
-     // 体积大于threshold才会被压缩
 
-     threshold: 0,
 
-     // 默认压缩.js|mjs|json|css|html后缀文件,设置成true,压缩全部文件
 
-     filter: () => true,
 
-     // 压缩后是否删除原始文件
 
-     deleteOriginFile: false
 
-   };
 
-   const br = {
 
-     ext: ".br",
 
-     algorithm: "brotliCompress",
 
-     threshold: 0,
 
-     filter: () => true,
 
-     deleteOriginFile: false
 
-   };
 
-   const codeList = [
 
-     { k: "gzip", v: gz },
 
-     { k: "brotli", v: br },
 
-     { k: "both", v: [gz, br] }
 
-   ];
 
-   const plugins: Plugin[] = [];
 
-   codeList.forEach(item => {
 
-     if (compress.includes(item.k)) {
 
-       if (compress.includes("clear")) {
 
-         if (isArray(item.v)) {
 
-           item.v.forEach(vItem => {
 
-             plugins.push(
 
-               compressPlugin(Object.assign(vItem, { deleteOriginFile: true }))
 
-             );
 
-           });
 
-         } else {
 
-           plugins.push(
 
-             compressPlugin(Object.assign(item.v, { deleteOriginFile: true }))
 
-           );
 
-         }
 
-       } else {
 
-         if (isArray(item.v)) {
 
-           item.v.forEach(vItem => {
 
-             plugins.push(compressPlugin(vItem));
 
-           });
 
-         } else {
 
-           plugins.push(compressPlugin(item.v));
 
-         }
 
-       }
 
-     }
 
-   });
 
-   return plugins;
 
- };
 
 
  |