Files
wordcloud/start-all.sh
2026-07-04 02:40:45 +08:00

51 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
BACKEND_DIR="$ROOT_DIR/backend"
FRONTEND_DIR="$ROOT_DIR/frontend"
cleanup() {
echo ""
echo "[INFO] 正在停止所有服务..."
if [[ -n "${BACKEND_PID:-}" ]]; then
kill "$BACKEND_PID" 2>/dev/null || true
wait "$BACKEND_PID" 2>/dev/null || true
fi
if [[ -n "${FRONTEND_PID:-}" ]]; then
kill "$FRONTEND_PID" 2>/dev/null || true
wait "$FRONTEND_PID" 2>/dev/null || true
fi
echo "[OK] 已停止"
exit 0
}
trap cleanup INT TERM
# 启动后端
echo "[INFO] 启动后端服务..."
cd "$BACKEND_DIR"
./start-dev.sh &
BACKEND_PID=$!
echo "[OK] 后端 PID: $BACKEND_PID"
# 等待后端启动
sleep 2
# 启动前端
echo "[INFO] 启动前端服务..."
cd "$FRONTEND_DIR"
npm run dev &
FRONTEND_PID=$!
echo "[OK] 前端 PID: $FRONTEND_PID"
echo ""
echo "========================================="
echo " 服务已启动"
echo " 后端: http://localhost:8000"
echo " 前端: http://localhost:3000"
echo " 按 Ctrl+C 停止所有服务"
echo "========================================="
wait