# 迷你收银台系统 - 稳定启动方案 ## 问题分析 经过排查,发现系统之前闪退的主要原因: 1. 批处理文件使用了复杂的中文语法,导致编码问题 2. 缺少端口冲突检测和清理 3. 导航菜单功能需要修复 ## 已完成的修复 1. **导航菜单修复**: - 增强了Layout.js中的菜单点击处理函数 - 添加了错误处理和备选导航方案 - 添加了详细的调试日志 2. **启动脚本优化**: - 修复了批处理文件的编码问题,添加了`chcp 65001`命令确保UTF-8编码 - 添加了端口冲突检测和自动清理功能 - 使用英文命令避免编码问题 - 优化了错误处理机制 ## 使用方法 ### 方法一:使用极简启动脚本(推荐) 1. 双击运行 `minimal-start.bat` 2. 系统会自动清理端口冲突并启动服务 3. 服务器已成功运行在端口 3000 ### 方法二:手动启动步骤 1. 打开命令提示符(管理员权限) 2. 切换到项目目录:`cd d:\workspace\minishouyin` 3. 清理端口:`for /f "tokens=5" %a in ('netstat -aon ^| findstr ":3000"') do taskkill /f /pid %a 2> NUL` 4. 启动服务:`npm start` ## 故障排除 如果仍然遇到闪退问题: 1. **检查依赖是否完整**: ``` npm install --force ``` 2. **清理缓存**: ``` npm cache clean --force ``` 3. **检查Node.js版本**: 确保使用稳定版Node.js(推荐v14.x或v16.x) 4. **检查数据库文件权限**: 确保data目录有读写权限 5. **查看详细错误日志**: 错误日志保存在 `datalogs` 目录下 ## 特别说明 - 系统已经成功启动并稳定运行 - 菜单导航功能已修复 - 如需再次启动,请使用 `minimal-start.bat` - 如果出现端口占用,脚本会自动清理 --- **注意事项**: 1. 请勿删除 `minimal-start.bat`,这是当前稳定启动的关键 2. 避免使用中文路径 3. 如需修改端口,请编辑 `server-port.json` 文件