@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