You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
#!/bin/bash
|
|
# ===============================================
|
|
# Task Track - 开发模式启动脚本 (使用 Air 热加载)
|
|
# ===============================================
|
|
|
|
echo "[INFO] 启动 Task Track 开发环境..."
|
|
echo
|
|
|
|
# 检查是否安装了 Air
|
|
if ! command -v air &> /dev/null; then
|
|
echo "[ERROR] Air 未安装,请先安装 Air:"
|
|
echo "go install github.com/air-verse/air@latest"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
# 创建 tmp 目录
|
|
if [ ! -d "backend/tmp" ]; then
|
|
mkdir -p "backend/tmp"
|
|
echo "[INFO] 创建 tmp 目录"
|
|
fi
|
|
|
|
# 检查并清理已有的后端进程
|
|
echo "[INFO] 检查并清理已有的后端进程..."
|
|
if pgrep -f "task-track-backend" > /dev/null; then
|
|
echo "[INFO] 发现已运行的后端进程,正在终止..."
|
|
pkill -f "task-track-backend"
|
|
sleep 2
|
|
fi
|
|
|
|
# 检查端口占用情况
|
|
echo "[INFO] 检查端口占用情况..."
|
|
if lsof -i :8080 > /dev/null 2>&1; then
|
|
echo "[WARNING] 端口 8080 被占用,正在终止占用进程..."
|
|
lsof -ti :8080 | xargs kill -9 2>/dev/null
|
|
sleep 2
|
|
fi
|
|
|
|
# 启动前端开发服务器 (如果需要)
|
|
echo "[INFO] 检查前端开发服务器..."
|
|
if ! pgrep -f "npm.*dev" > /dev/null; then
|
|
echo "[INFO] 启动前端开发服务器..."
|
|
cd frontend
|
|
npm run dev > /dev/null 2>&1 &
|
|
cd ..
|
|
echo "[INFO] 等待前端服务器启动..."
|
|
sleep 5
|
|
fi
|
|
|
|
# 启动后端 (使用 Air 热加载)
|
|
echo "[INFO] 启动后端热加载开发服务器..."
|
|
echo "[INFO] 使用 Air 进行热加载,代码变更将自动重启服务器"
|
|
echo "[INFO] 按 Ctrl+C 停止开发服务器"
|
|
echo
|
|
|
|
cd backend
|
|
air
|
|
|
|
echo
|
|
echo "[INFO] 后端开发服务器已停止"
|
|
cd ..
|
|
|