84 lines
1.6 KiB
Bash
84 lines
1.6 KiB
Bash
![]() |
#!/bin/bash
|
|||
|
|
|||
|
# Markdown编辑器启动脚本 - 修复版
|
|||
|
echo "🚀 启动Markdown编辑器..."
|
|||
|
|
|||
|
# 检查Python环境
|
|||
|
if ! command -v python3 &> /dev/null; then
|
|||
|
echo "❌ Python3 未安装"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
# 检查Node.js环境
|
|||
|
if ! command -v node &> /dev/null; then
|
|||
|
echo "❌ Node.js 未安装"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
# 创建虚拟环境并安装后端依赖
|
|||
|
echo "📦 设置后端环境..."
|
|||
|
cd backend
|
|||
|
|
|||
|
if [ ! -d "venv" ]; then
|
|||
|
echo "创建虚拟环境..."
|
|||
|
python3 -m venv venv
|
|||
|
fi
|
|||
|
|
|||
|
source venv/bin/activate
|
|||
|
echo "安装Python依赖..."
|
|||
|
pip install -r requirements.txt
|
|||
|
|
|||
|
# 创建workspace目录
|
|||
|
mkdir -p workspace
|
|||
|
|
|||
|
echo "🔧 启动后端服务..."
|
|||
|
python app.py &
|
|||
|
BACKEND_PID=$!
|
|||
|
|
|||
|
cd ..
|
|||
|
|
|||
|
# 安装前端依赖
|
|||
|
echo "📦 设置前端环境..."
|
|||
|
cd frontend
|
|||
|
|
|||
|
if [ ! -d "node_modules" ]; then
|
|||
|
echo "安装Node.js依赖..."
|
|||
|
npm install --legacy-peer-deps
|
|||
|
fi
|
|||
|
|
|||
|
echo "🔧 启动前端服务..."
|
|||
|
npm run dev &
|
|||
|
FRONTEND_PID=$!
|
|||
|
|
|||
|
cd ..
|
|||
|
|
|||
|
# 等待服务启动
|
|||
|
echo "⏳ 等待服务启动..."
|
|||
|
sleep 3
|
|||
|
|
|||
|
echo "✅ 服务启动完成!"
|
|||
|
echo "后端服务: http://localhost:5000"
|
|||
|
echo "前端服务: http://localhost:3000"
|
|||
|
echo ""
|
|||
|
echo "📝 使用说明:"
|
|||
|
echo "1. 打开 http://localhost:3000 访问应用"
|
|||
|
echo "2. 使用左侧文件浏览器管理文件"
|
|||
|
echo "3. 中间编辑器输入Markdown,右侧实时预览"
|
|||
|
echo "4. 按 Ctrl+Shift+F 打开正则表达式工具"
|
|||
|
echo ""
|
|||
|
echo "按 Ctrl+C 停止服务"
|
|||
|
|
|||
|
# 捕获中断信号并清理
|
|||
|
cleanup() {
|
|||
|
echo "🛑 正在停止服务..."
|
|||
|
kill $BACKEND_PID 2>/dev/null || true
|
|||
|
kill $FRONTEND_PID 2>/dev/null || true
|
|||
|
wait
|
|||
|
echo "✅ 服务已停止"
|
|||
|
exit 0
|
|||
|
}
|
|||
|
|
|||
|
trap cleanup INT TERM
|
|||
|
|
|||
|
# 等待进程
|
|||
|
wait
|