@echo off chcp 65001 >nul title BugPack 一键启动脚本 :: ============================================ :: BugPack 一键启动脚本 :: ============================================ setlocal EnableDelayedExpansion :: 项目目录(脚本所在目录) set "BUGPACK_DIR=%~dp0" set "PORT=3457" set "MSYS2_PATH=C:\msys64" echo [信息] MSYS2 环境: !MSYS2_PATH! :: 检查 node_modules if not exist "%BUGPACK_DIR%node_modules" ( echo [警告] 未找到 node_modules,需要安装依赖... echo [信息] 正在安装依赖,请稍候... "!MSYS2_PATH!\usr\bin\bash.exe" -c "cd '%BUGPACK_DIR%' && export PATH='/mingw64/bin:/usr/bin:$PATH' && export LD_LIBRARY_PATH='/mingw64/bin:$LD_LIBRARY_PATH' && npm install" if errorlevel 1 ( echo [错误] 依赖安装失败! pause exit /b 1 ) echo [信息] 依赖安装完成 ) else ( echo [信息] node_modules 已存在 ) :: 检查 dist if not exist "%BUGPACK_DIR%dist\client\index.html" ( echo [警告] 未找到构建产物,需要构建... "!MSYS2_PATH!\usr\bin\bash.exe" -c "cd '%BUGPACK_DIR%' && export PATH='/mingw64/bin:/usr/bin:$PATH' && export LD_LIBRARY_PATH='/mingw64/bin:$LD_LIBRARY_PATH' && npm run build" if errorlevel 1 ( echo [错误] 构建失败! pause exit /b 1 ) echo [信息] 构建完成 ) else ( echo [信息] 构建产物已存在 ) :: 检查端口 set "ORIGINAL_PORT=%PORT%" :check_port netstat -ano | findstr ":%PORT% " | findstr "LISTENING" >nul if not errorlevel 1 ( set /a PORT+=1 goto :check_port ) :: 启动 echo. echo ============================================ echo BugPack 服务启动中... echo ============================================ echo. if not "%ORIGINAL_PORT%"=="%PORT%" ( echo [提示] 端口 %ORIGINAL_PORT% 被占用,已切换到 %PORT% echo. ) echo [信息] 访问地址: http://localhost:%PORT% echo. "!MSYS2_PATH!\usr\bin\bash.exe" -c "cd '%BUGPACK_DIR%' && export PATH='/mingw64/bin:/usr/bin:$PATH' && export LD_LIBRARY_PATH='/mingw64/bin:$LD_LIBRARY_PATH' && PORT=%PORT% npm run dev:server" echo. echo [信息] 服务已停止 echo. pause