Files
whale-town-front/scripts/serve_web.bat
moyin 0935c5fd76 feat:添加Web版本自动化部署系统
- 实现跨平台Web导出脚本(Windows/Linux/macOS)
- 添加本地测试服务器启动脚本
- 配置Godot Web导出预设
- 创建Web资源目录结构
- 支持一键导出和本地测试
2025-12-25 23:06:29 +08:00

173 lines
4.4 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@echo off
setlocal enabledelayedexpansion
echo ========================================
echo 鲸鱼镇 本地Web服务器 v1.0
echo ========================================
echo.
REM 配置变量
set "BUILD_DIR=build\web"
set "PORT=8000"
set "FALLBACK_PORT=8080"
REM 颜色代码
set "RED=[91m"
set "GREEN=[92m"
set "YELLOW=[93m"
set "BLUE=[94m"
set "RESET=[0m"
REM 检查导出文件
echo %BLUE%[检查]%RESET% 验证Web导出文件...
if not exist "%BUILD_DIR%\index.html" (
echo %RED%[错误]%RESET% 未找到Web导出文件
echo.
echo 请先运行以下命令导出项目:
echo scripts\build_web.bat
echo.
echo 或在Godot编辑器中导出Web版本到: %BUILD_DIR%\
echo.
pause
exit /b 1
)
REM 检查必要文件
echo %BLUE%[验证]%RESET% 检查必要文件...
set "REQUIRED_FILES=index.html index.js index.wasm index.pck"
set "MISSING_FILES="
for %%f in (%REQUIRED_FILES%) do (
if not exist "%BUILD_DIR%\%%f" (
set "MISSING_FILES=!MISSING_FILES! %%f"
)
)
if not "!MISSING_FILES!"=="" (
echo %RED%[错误]%RESET% 缺少必要文件:!MISSING_FILES!
echo 请重新导出项目
echo.
pause
exit /b 1
)
REM 检查Python
echo %BLUE%[检查]%RESET% 验证Python环境...
python --version >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo %RED%[错误]%RESET% 未找到Python
echo.
echo 请安装Python 3.x:
echo 下载地址: https://python.org/downloads
echo 或使用包管理器: winget install Python.Python.3
echo.
echo 安装后请重启命令提示符
echo.
pause
exit /b 1
)
REM 获取Python版本
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set "PYTHON_VERSION=%%i"
echo %GREEN%[信息]%RESET% Python版本: %PYTHON_VERSION%
REM 显示文件信息
echo.
echo %GREEN%[信息]%RESET% Web文件统计:
set "TOTAL_SIZE=0"
for %%f in ("%BUILD_DIR%\*") do (
set "size=%%~zf"
set /a "TOTAL_SIZE+=size"
set /a "size_mb=size/1024/1024"
if !size_mb! gtr 0 (
echo %%~nxf: !size_mb! MB
) else (
set /a "size_kb=size/1024"
echo %%~nxf: !size_kb! KB
)
)
set /a "TOTAL_MB=TOTAL_SIZE/1024/1024"
echo 总大小: %TOTAL_MB% MB
REM 检查端口占用
echo.
echo %BLUE%[网络]%RESET% 检查端口占用...
netstat -an | find ":%PORT%" >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo %YELLOW%[警告]%RESET% 端口 %PORT% 已被占用,尝试使用 %FALLBACK_PORT%
set "PORT=%FALLBACK_PORT%"
netstat -an | find ":%PORT%" >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo %RED%[错误]%RESET% 端口 %PORT% 也被占用!
echo 请手动指定端口: python -m http.server [端口号]
echo.
pause
exit /b 1
)
)
REM 获取本机IP地址
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find "IPv4"') do (
set "LOCAL_IP=%%i"
set "LOCAL_IP=!LOCAL_IP: =!"
goto :ip_found
)
:ip_found
REM 显示启动信息
echo.
echo %GREEN%[启动]%RESET% 启动HTTP服务器...
echo 端口: %PORT%
echo 目录: %BUILD_DIR%
echo Python: %PYTHON_VERSION%
echo.
echo ========================================
echo %GREEN% 访问地址%RESET%
echo ========================================
echo 本地访问: http://localhost:%PORT%
echo 局域网访问: http://!LOCAL_IP!:%PORT%
echo.
echo %YELLOW%[控制]%RESET% 服务器控制:
echo 停止服务器: Ctrl+C
echo 重启服务器: 关闭后重新运行脚本
echo.
echo %BLUE%[调试]%RESET% 调试工具:
echo 开发者工具: F12
echo 控制台日志: 查看浏览器Console
echo 网络请求: 查看Network标签
echo.
echo ========================================
REM 尝试自动打开浏览器
echo %BLUE%[浏览器]%RESET% 尝试打开默认浏览器...
start http://localhost:%PORT% >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo %YELLOW%[提示]%RESET% 无法自动打开浏览器,请手动访问上述地址
)
echo.
echo %GREEN%[就绪]%RESET% 服务器启动中...
echo.
REM 切换到构建目录并启动服务器
cd "%BUILD_DIR%"
REM 创建简单的服务器日志
echo [%date% %time%] 服务器启动 - 端口:%PORT% >> server.log
REM 启动Python HTTP服务器
python -m http.server %PORT%
REM 服务器停止后的清理
echo.
echo %YELLOW%[停止]%RESET% 服务器已停止
echo [%date% %time%] 服务器停止 >> server.log
REM 返回原目录
cd ..\..
echo.
echo %GREEN%[完成]%RESET% 感谢使用鲸鱼镇Web服务器
echo.
pause