196 lines
5.1 KiB
Batchfile
196 lines
5.1 KiB
Batchfile
@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
|