import path from "node:path"; import vue from "@vitejs/plugin-vue"; import { defineConfig } from "vite"; const host = process.env.TAURI_DEV_HOST; // https://vite.dev/config/ export default defineConfig(async () => ({ plugins: [vue()], resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` // // 1. prevent Vite from obscuring rust errors clearScreen: false, // 2. tauri expects a fixed port, fail if that port is not available server: { port: 1420, strictPort: true, host: host || false, hmr: host ? { protocol: "ws", host, port: 1421, } : undefined, watch: { // 3. tell Vite to ignore watching `src-tauri` ignored: ["**/src-tauri/**"], }, }, build: { rollupOptions: { output: { manualChunks: { // Vue 核心库 "vue-vendor": ["vue"], // Ant Design Vue 主库 "antd-vendor": ["ant-design-vue"], // Ant Design 图标库(体积较大) "antd-icons": ["@ant-design/icons-vue"], // Tauri API 相关 "tauri-vendor": [ "@tauri-apps/api", "@tauri-apps/plugin-autostart", "@tauri-apps/plugin-http", "@tauri-apps/plugin-notification", "@tauri-apps/plugin-opener", ], }, }, }, // 提高 chunk 大小警告阈值到 10MB chunkSizeWarningLimit: 1024 * 10, }, }));