import { resolve } from 'path' import { defineConfig } from 'electron-vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { TDesignResolver } from 'unplugin-vue-components/resolvers' import tailwindcss from '@tailwindcss/vite' export default defineConfig({ main: { build: { rollupOptions: { input: { index: resolve(__dirname, 'electron/main/index.ts') } } } }, preload: { build: { rollupOptions: { input: { index: resolve(__dirname, 'electron/preload/index.ts') } } } }, renderer: { root: '.', build: { rollupOptions: { external: ['mxgraph'], input: { index: resolve(__dirname, 'index.html') } } }, resolve: { alias: { '@': resolve('src') } }, plugins: [ vue(), tailwindcss(), AutoImport({ imports: ['vue', 'vue-router', '@vueuse/core', 'pinia'], dts: 'src/types/auto-imports.d.ts' // 自动生成 auto-imports.d.ts }), Components({ resolvers: [ TDesignResolver({ library: 'vue-next' }) ], dirs: ['src/components', 'src/**/components', 'src/**/components/**/*.vue'], dts: 'src/types/auto-components.d.ts' // 自动生成 components.d.ts }) ], optimizeDeps: { exclude: ['mxgraph'], include: [ 'vue', 'vue-router', 'pinia', 'vue-i18n', 'axios', '@vueuse/core', 'pinia-plugin-persistedstate', 'js-cookie', 'nprogress', 'lodash-es', 'tdesign-vue-next' ] } } })