Files
happy-life-star/web-bak/vite.config.js
T
peanut c77352877d feat: 完成Nacos配置优化和WebSocket集成
主要更新:
1. 统一所有微服务端口配置(19000-19008)
2. 为所有服务创建本地/测试/生产三套环境配置
3. 配置Nacos认证密码(本地:Peanut2817*#, 测试/生产:EmotionMuseum2025)
4. 优化网关路由配置,支持负载均衡和WebSocket
5. 新增emotion-websocket模块,支持实时聊天
6. 前端集成WebSocket,替代HTTP轮询
7. 添加配置验证和管理工具脚本

技术特性:
- 完整的环境隔离和服务发现
- WebSocket实时通信支持
- 负载均衡路由配置
- 跨域和安全配置
- 自动重连和心跳检测
2025-07-17 18:10:45 +08:00

62 lines
1.7 KiB
JavaScript

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig(({ mode }) => {
// 加载环境变量
const env = loadEnv(mode, process.cwd(), '')
return {
plugins: [vue()],
base: mode === 'production' ? '/emotion-museum/' : '/',
resolve: {
alias: {
'@': resolve(__dirname, 'src')
}
},
server: {
port: 3000,
open: true,
proxy: {
// 所有API请求统一通过网关代理
'/api': {
target: env.VITE_API_TARGET || 'http://localhost:19000',
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/api/, '')
},
// 验证码服务通过网关代理
'/captcha': {
target: env.VITE_API_TARGET || 'http://localhost:19000',
changeOrigin: true,
secure: false
},
// OAuth服务通过网关代理
'/oauth': {
target: env.VITE_API_TARGET || 'http://localhost:19000',
changeOrigin: true,
secure: false
}
}
},
build: {
outDir: 'dist',
assetsDir: 'assets',
sourcemap: mode === 'development',
rollupOptions: {
output: {
chunkFileNames: 'assets/js/[name]-[hash].js',
entryFileNames: 'assets/js/[name]-[hash].js',
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]'
}
}
},
define: {
// 将环境变量注入到应用中
__APP_ENV__: JSON.stringify(env.VITE_APP_ENV),
__API_BASE_URL__: JSON.stringify(env.VITE_API_BASE_URL),
__DEBUG_MODE__: JSON.stringify(env.VITE_DEBUG_MODE === 'true')
}
}
})