Files

75 lines
2.2 KiB
Batchfile

@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