40 lines
899 B
Bash
40 lines
899 B
Bash
#!/usr/bin/env bash
|
|
# NomadFlow 本地开发启动脚本
|
|
set -e
|
|
|
|
echo "🌍 NomadFlow 开发环境启动"
|
|
|
|
# Backend
|
|
if [ ! -d "backend/.venv" ]; then
|
|
echo "📦 创建 Python 虚拟环境..."
|
|
python3 -m venv backend/.venv
|
|
backend/.venv/bin/pip install -r backend/requirements.txt -q
|
|
fi
|
|
|
|
echo "🚀 启动 FastAPI..."
|
|
(cd backend && .venv/bin/uvicorn app.main:app --reload --port 8000) &
|
|
API_PID=$!
|
|
|
|
sleep 2
|
|
|
|
# Frontend
|
|
if [ ! -d "frontend/node_modules/next" ]; then
|
|
echo "📦 安装前端依赖..."
|
|
(cd frontend && npm install)
|
|
fi
|
|
|
|
[ -f frontend/.env.local ] || cp frontend/.env.local.example frontend/.env.local
|
|
|
|
echo "🌐 启动 Next.js..."
|
|
(cd frontend && npm run dev) &
|
|
WEB_PID=$!
|
|
|
|
echo ""
|
|
echo "✅ 服务已启动:"
|
|
echo " 前端: http://localhost:3000"
|
|
echo " API: http://localhost:8000/docs"
|
|
echo " 按 Ctrl+C 停止"
|
|
|
|
trap "kill $API_PID $WEB_PID 2>/dev/null" EXIT
|
|
wait
|