import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' // https://vite.dev/config/ export default defineConfig({ plugins: [react()], server: { port: 50001, host: '0.0.0.0', strictPort: true, allowedHosts: ['maxfight.vip', 'localhost', '127.0.0.1'], proxy: { '/api': { target: 'http://localhost:3003', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '/api') } } }, // 优化依赖预构建 optimizeDeps: { include: [ 'wagmi', 'viem', 'viem/actions', 'viem/chains', '@tanstack/react-query', 'react', 'react-dom', 'react-i18next', 'i18next', ], // 强制预构建这些依赖,避免动态导入问题 esbuildOptions: { target: 'esnext', }, }, // 解析配置 resolve: { alias: { // 解决 viem 动态导入问题 }, }, build: { rollupOptions: { output: { manualChunks: { // React 相关 'react-vendor': ['react', 'react-dom'], // Web3 相关 'web3-vendor': ['wagmi', 'viem', '@tanstack/react-query'], // WalletConnect 相关 'walletconnect': [ '@web3modal/wagmi', '@walletconnect/ethereum-provider', ], // i18n 'i18n': ['react-i18next', 'i18next', 'i18next-browser-languagedetector'], }, }, }, // 提高 chunk 大小警告阈值 chunkSizeWarningLimit: 600, }, })