chengxiangling
2025-05-16 af1c9e588f1de0240390648f9bb56aa486870aff
vite/plugins/index.js
@@ -1,15 +1,36 @@
import vue from '@vitejs/plugin-vue'
import createAutoImport from './auto-import'
import createSvgIcon from './svg-icon'
import createCompression from './compression'
import createSetupExtend from './setup-extend'
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(createAutoImport())
   vitePlugins.push(createSetupExtend())
    vitePlugins.push(createSvgIcon(isBuild))
   isBuild && vitePlugins.push(...createCompression(viteEnv))
    return vitePlugins
  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;
}