import { defineConfig } from 'vite'; import path from 'node:path'; import electron from 'vite-plugin-electron/simple'; import react from '@vitejs/plugin-react'; import renderer from 'vite-plugin-electron-renderer'; import tailwindcss from '@tailwindcss/vite'; import { visualizer } from 'rollup-plugin-visualizer'; const __dirname = import.meta.dirname; export default defineConfig({ plugins: [ react(), tailwindcss(), electron({ main: { entry: 'electron/main.ts', }, preload: { input: path.join(__dirname, 'electron/preload.ts'), }, }), renderer(), // 打包体积分析(仅 ANALYZE=true 时生成 stats.html) process.env.ANALYZE && visualizer({ open: true, gzipSize: true, brotliSize: true, filename: 'dist/stats.html', }), ].filter(Boolean), resolve: { alias: { '@': path.resolve(__dirname, 'src'), '@shared': path.resolve(__dirname, 'shared'), }, }, build: { rollupOptions: { output: {}, }, }, preview: { port: 5173, }, });