chengxiangling
2025-05-16 af1c9e588f1de0240390648f9bb56aa486870aff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import vue from "@vitejs/plugin-vue";
import createSvgIcon from "./svg-icon";
import createCompression from "./compression";
import createSetupExtend from "./setup-extend";
import Components from "unplugin-vue-components/vite";
import autoImport from "unplugin-auto-import/vite";
import viteImagemin from 'vite-plugin-imagemin';
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
export default function createVitePlugins(viteEnv, isBuild = false) {
  const vitePlugins = [vue()];
  vitePlugins.push(createSetupExtend());
  vitePlugins.push(createSvgIcon(isBuild));
  isBuild && vitePlugins.push(...createCompression(viteEnv));
  vitePlugins.push(
    autoImport({
      imports: ["vue", "vue-router", "pinia"],
      dts: false,
      // 自动导入 Element Plus 相关函数
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      dts: false,
      // 自动导入 Element Plus 组件
      resolvers: [ElementPlusResolver()],
    }),
    viteImagemin({
      // 配置选项
      gifsicle: {
        optimizationLevel: 7,
        interlaced: false,
      },
      // 其他配置...
    })
  );
  return vitePlugins;
}