feat: 添加前后端一体化 Docker 部署支持
- 创建根目录 Dockerfile,支持前后端一起部署到一个容器 - 添加 Nginx 配置,自动代理后端 API 和 WebSocket - 创建启动脚本,同时启动后端和 Nginx - 更新 docker-compose.yml 支持一体化部署 - 创建一体化部署脚本 deploy.sh - 修复前端环境变量支持,默认使用相对路径 - 优化部署脚本:.env 文件不存在时创建后终止部署 - 更新部署文档,添加一体化部署说明
This commit is contained in:
@@ -5,17 +5,16 @@ import { wsManager } from './websocket'
|
||||
|
||||
/**
|
||||
* API 基础配置
|
||||
* 支持通过环境变量 VITE_API_URL 配置后端地址
|
||||
* 默认使用相对路径 /api(适用于同域部署)
|
||||
* 如果设置了 VITE_API_URL,则使用完整 URL
|
||||
* 默认使用相对路径 /api(通过反向代理转发)
|
||||
* 如果设置了 VITE_API_URL 环境变量,则使用完整 URL(用于跨域场景)
|
||||
*/
|
||||
const getBaseURL = (): string => {
|
||||
const envApiUrl = import.meta.env.VITE_API_URL
|
||||
if (envApiUrl) {
|
||||
// 如果设置了环境变量,使用完整 URL
|
||||
// 如果设置了环境变量,使用完整 URL(支持跨域)
|
||||
return `${envApiUrl}/api`
|
||||
}
|
||||
// 否则使用相对路径(适用于开发环境代理或同域部署)
|
||||
// 否则使用相对路径(通过反向代理转发)
|
||||
return '/api'
|
||||
}
|
||||
|
||||
|
||||
@@ -325,17 +325,18 @@ class WebSocketManager {
|
||||
|
||||
/**
|
||||
* 获取 WebSocket URL(带token认证)
|
||||
* 支持通过环境变量 VITE_WS_URL 配置 WebSocket 地址
|
||||
* 默认使用相对路径 /ws(通过反向代理转发)
|
||||
* 如果设置了 VITE_WS_URL 环境变量,则使用完整 URL(用于跨域场景)
|
||||
*/
|
||||
private getWebSocketUrl(): string {
|
||||
const envWsUrl = import.meta.env.VITE_WS_URL
|
||||
let wsBaseUrl: string
|
||||
|
||||
if (envWsUrl) {
|
||||
// 如果设置了环境变量,使用完整 URL
|
||||
// 如果设置了环境变量,使用完整 URL(支持跨域)
|
||||
wsBaseUrl = envWsUrl
|
||||
} else {
|
||||
// 否则使用相对路径(适用于开发环境代理或同域部署)
|
||||
// 否则使用相对路径(通过反向代理转发)
|
||||
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
|
||||
const host = window.location.host
|
||||
wsBaseUrl = `${protocol}//${host}`
|
||||
|
||||
Reference in New Issue
Block a user