import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import tailwindcss from '@tailwindcss/vite' import { progressTrackingPlugin } from 'vite-progress-tracking-plugin'; import iframeCommunicationPlugin from 'vite-plugin-iframe-communicator'; // https://vite.dev/config/ export default defineConfig({ plugins: [ react({ tsDecorators: true, }), tailwindcss(), progressTrackingPlugin(), iframeCommunicationPlugin({ hostOrigin: '*', // 可信的主页面源 }) ], server: { allowedHosts:true, proxy: { '/mini': { target: 'http://localhost:10086', changeOrigin: true, }, '/mini-ws': { target: 'ws://localhost:10086/ws', changeOrigin: true, rewrite: path => path.replace(/^\/mini-ws/, ''), ws: true }, }, watch: { // 忽略指定目录,使用 glob 模式 ignored: [ '**/node_modules/**', // Vite 默认已忽略 node_modules '**/dist/**', // 忽略 dist 目录 'coverage/**', 'playwright-report/**', 'test-results/**', 'tests/**', ] } }, // 配置 @ 别名 resolve: { alias: { '@': '/src', }, }, // 构建配置 build: { // 对于SSR,我们不需要默认的index.html入口 // 为客户端构建指定JS入口文件 rollupOptions: { input: { // 这里指定你的客户端入口JS文件 main: 'src/client/index.tsx', styles: 'src/style.css', }, }, }, })