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({
|
// 自动导入 Element Plus 组件
|
resolvers: [ElementPlusResolver()],
|
}),
|
viteImagemin({
|
// 配置选项
|
gifsicle: {
|
optimizationLevel: 7,
|
interlaced: false,
|
},
|
// 其他配置...
|
})
|
);
|
return vitePlugins;
|
}
|