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; }