import { resolve } from 'path' import { defineConfig, externalizeDepsPlugin } from 'electron-vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' import path from 'path' export default defineConfig({ main: { plugins: [externalizeDepsPlugin()] }, preload: { plugins: [externalizeDepsPlugin()] }, renderer: { resolve: { alias: { '@renderer': resolve('src/renderer/src'), '@': resolve('src/renderer/src') } }, plugins: [ vue(), AutoImport({ imports: ['vue'], dts: 'src/auto-imports.d.ts', // 自动生成类型声明文件 resolvers: [ElementPlusResolver()] }), Components({ resolvers: [ElementPlusResolver()] }), // SVG图标插件配置 // 配置SVG图标插件 createSvgIconsPlugin({ iconDirs: [path.resolve(process.cwd(), 'src/renderer/src/icons/svg')], symbolId: 'icon-[name]', // 自动清除 SVG 中的 fill 和 stroke 属性 svgoOptions: { plugins: [{ name: 'removeAttrs', params: { attrs: ['fill', 'stroke', 'stroke-width'] } }] } }) ] // server: { // port: 8808, // proxy: { // '/api': { // target: localStorage.getItem('ip') || 'http://127.0.0.1:8808', // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') // } // } // } } })