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

#!/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 ..