gameSeriveUniapp/diagnose.bat
2026-01-12 16:48:28 +08:00

196 lines
5.1 KiB
Batchfile
Raw Permalink 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
chcp 65001 >nul
echo ==================================
echo 项目启动诊断和修复工具
echo ==================================
echo.
echo [1/7] 检查 Node.js 环境...
node -v >nul 2>&1
if %errorlevel% neq 0 (
echo X Node.js 未安装
echo 请从 https://nodejs.org/ 下载安装
pause
exit /b 1
) else (
for /f "tokens=*" %%i in ('node -v') do set NODE_VERSION=%%i
echo √ Node.js 已安装: %NODE_VERSION%
)
echo.
echo [2/7] 检查 npm...
npm -v >nul 2>&1
if %errorlevel% neq 0 (
echo X npm 未安装
pause
exit /b 1
) else (
for /f "tokens=*" %%i in ('npm -v') do set NPM_VERSION=%%i
echo √ npm 已安装: v%NPM_VERSION%
)
echo.
echo [3/7] 检查依赖安装...
if exist node_modules (
echo √ node_modules 目录存在
if exist node_modules\@dcloudio (
echo √ uni-app 依赖已安装
) else (
echo X uni-app 依赖缺失
echo 正在安装依赖...
call npm install
)
) else (
echo X node_modules 目录不存在
echo 正在安装依赖...
call npm install
)
echo.
echo [4/7] 检查项目关键文件...
set ALL_FILES_OK=1
if exist index.html (echo √ index.html) else (echo X index.html 缺失 & set ALL_FILES_OK=0)
if exist src\main.ts (echo √ src\main.ts) else (echo X src\main.ts 缺失 & set ALL_FILES_OK=0)
if exist src\App.vue (echo √ src\App.vue) else (echo X src\App.vue 缺失 & set ALL_FILES_OK=0)
if exist src\pages.json (echo √ src\pages.json) else (echo X src\pages.json 缺失 & set ALL_FILES_OK=0)
if exist src\manifest.json (echo √ src\manifest.json) else (echo X src\manifest.json 缺失 & set ALL_FILES_OK=0)
if exist vite.config.ts (echo √ vite.config.ts) else (echo X vite.config.ts 缺失 & set ALL_FILES_OK=0)
if exist package.json (echo √ package.json) else (echo X package.json 缺失 & set ALL_FILES_OK=0)
echo.
echo [5/7] 检查 Mock 数据...
if exist src\mock\index.ts (
echo √ Mock 数据文件存在
) else (
echo X Mock 数据文件缺失
echo Mock 数据对于项目运行是必需的
)
echo.
echo [6/7] 检查类型定义...
if exist src\types (
echo √ types 目录存在
dir /b src\types\*.ts 2>nul | find /c ".ts" >nul
if %errorlevel% equ 0 (
for /f %%i in ('dir /b src\types\*.ts ^| find /c ".ts"') do echo √ 找到 %%i 个类型定义文件
)
) else (
echo X types 目录不存在
)
echo.
echo [7/7] 检查编译输出目录...
if exist unpackage (
echo √ unpackage 目录存在
) else (
echo - unpackage 目录不存在(首次运行会自动创建)
)
echo.
echo ==================================
echo 诊断完成!
echo ==================================
echo.
if %ALL_FILES_OK% equ 0 (
echo ⚠ 警告:部分关键文件缺失,可能导致项目无法正常运行
echo.
)
echo 现在可以选择运行方式:
echo.
echo [1] 运行 H5 版本(推荐,快速预览)
echo [2] 运行微信小程序版本
echo [3] 清除缓存并重新安装依赖
echo [4] 查看详细错误日志
echo [0] 退出
echo.
set /p choice=请选择 (0-4):
if "%choice%"=="1" goto run_h5
if "%choice%"=="2" goto run_weixin
if "%choice%"=="3" goto clean_install
if "%choice%"=="4" goto show_logs
if "%choice%"=="0" goto end
goto end
:run_h5
echo.
echo 正在启动 H5 开发服务器...
echo 提示:浏览器会自动打开 http://localhost:5173
echo 如果看到空白页面请检查浏览器控制台F12的错误信息
echo.
call npm run dev:h5
goto end
:run_weixin
echo.
echo 正在编译微信小程序...
echo 提示:
echo 1. 确保已安装微信开发者工具
echo 2. 在微信开发者工具中开启"服务端口"
echo 3. 编译完成后打开微信开发者工具
echo 4. 导入项目目录: unpackage\dist\dev\mp-weixin
echo.
call npm run dev:mp-weixin
echo.
echo 编译完成!请在微信开发者工具中导入项目。
pause
goto end
:clean_install
echo.
echo 正在清除缓存...
if exist node_modules (
echo 删除 node_modules...
rmdir /s /q node_modules
)
if exist unpackage (
echo 删除 unpackage...
rmdir /s /q unpackage
)
echo.
echo 正在重新安装依赖...
call npm install
echo.
echo 清除并重装完成!
pause
goto end
:show_logs
echo.
echo 常见错误和解决方案:
echo.
echo 1. "404 Not Found" 错误
echo - 检查 index.html 中的 script src 是否为 "/src/main.ts"
echo - 确保 src/main.ts 文件存在
echo.
echo 2. "Cannot find module" 错误
echo - 运行: npm install
echo - 检查 package.json 中的依赖是否完整
echo.
echo 3. "Module not found: Error: Can't resolve '@/mock'" 错误
echo - 检查 src/mock/index.ts 文件是否存在
echo - 检查 vite.config.ts 中的 alias 配置
echo.
echo 4. 页面空白
echo - 打开浏览器开发者工具F12查看 Console 错误
echo - 检查 Network 标签,查看哪些资源加载失败
echo - 确保使用正确的启动命令npm run dev:h5
echo.
echo 5. 类型错误
echo - 检查 src/types 目录下的类型定义是否完整
echo - 运行: npm run dev:h5 查看详细错误信息
echo.
pause
goto end
:end
echo.
echo 感谢使用!
echo.
pause