4.8 KiB
4.8 KiB
小程序编译错误完整解决方案 - 2026-02-01
当前错误
app.json 文件内容错误: 在项目根目录未找到 app.json
根本原因
-
pages.json配置错误(已修复)
- 配置了不存在的页面路径
- 导致编译失败
-
编译缓存问题
- 微信开发者工具正在使用旧的编译文件
- 缓存文件被占用,无法删除
- 需要关闭工具后清除缓存
完整解决步骤
步骤1: 关闭微信开发者工具 ⚠️
重要: 必须完全关闭微信开发者工具,不是最小化!
- 点击微信开发者工具右上角的 ❌ 关闭按钮
- 确保工具完全退出(任务栏没有图标)
步骤2: 清除编译缓存
方式1: 使用批处理文件(推荐)
双击运行: Archive/[一次性]完整解决编译错误-2026-02-01.bat
方式2: 手动删除
删除以下目录:
peidu/uniapp/dist
peidu/uniapp/unpackage
peidu/uniapp/node_modules/.cache
使用命令:
cd peidu/uniapp
rmdir /s /q dist
rmdir /s /q unpackage
rmdir /s /q node_modules\.cache
步骤3: 重新打开微信开发者工具
- 打开微信开发者工具
- 选择"导入项目"
- 项目路径选择:
peidu/uniapp/dist/dev/mp-weixin - 点击"导入"
步骤4: 重新编译
- 在微信开发者工具中点击"编译"按钮
- 等待编译完成
- 查看是否还有错误
已修复的问题
1. pages.json配置错误 ✅
文件: peidu/uniapp/src/pages.json
修复内容:
// 修复前(错误)
{
"path": "pages/course/detail", // ❌ 路径不存在
"style": {
"navigationBarTitleText": "课程详情"
}
}
// 修复后(正确)
{
"path": "pages/academy/course-detail", // ✅ 正确路径
"style": {
"navigationBarTitleText": "课程详情"
}
}
2. 游客模式后端配置 ✅
文件: peidu/backend/src/main/java/com/peidu/config/WebMvcConfig.java
添加的白名单:
"/api/special/**",
"/api/special-course/**", // ✅ 新增
"/api/interest/**",
"/api/interest-course/**", // ✅ 新增
3. 游客模式前端配置 ✅
文件: peidu/uniapp/src/utils/request.js
完善的白名单:
const GUEST_ALLOWED_URLS = [
'/api/service/list',
'/api/service/search',
'/api/service/detail',
'/api/special/list',
'/api/special/detail',
'/api/special-course/list',
'/api/special-course/detail',
'/api/interest-course/list',
'/api/interest-course/detail',
'/api/assessment/list',
'/api/assessment/detail',
'/api/growth-planning/list',
'/api/growth-planning/detail',
'/api/teacher/list',
'/api/teacher/detail',
'/api/course/list',
'/api/course/detail',
// ... 其他接口
]
常见问题
Q1: 删除缓存时提示"文件被占用"
原因: 微信开发者工具还在运行
解决:
- 完全关闭微信开发者工具
- 检查任务管理器,确保没有相关进程
- 重新尝试删除
Q2: 编译后仍然报错
可能原因:
- 缓存没有完全清除
- 后端服务没有重启
- 项目路径不正确
解决:
- 再次清除缓存
- 重启后端服务
- 确认导入的是
dist/dev/mp-weixin目录
Q3: 游客模式仍然返回401
原因: 后端服务没有重启
解决:
- 停止后端服务(端口8089)
- 在IDEA中重新启动 PeiduApplication
- 等待启动完成
- 重新测试
测试验证
编译成功后,按以下顺序测试:
1. 基本功能测试
- 小程序可以正常启动
- 首页可以正常显示
- 轮播图可以正常显示
2. 游客模式测试
- 未登录状态下点击"专项突破"
- 未登录状态下点击"兴趣培养"
- 未登录状态下点击"测评师"
- 未登录状态下点击"成长规划师"
- 以上页面都应该显示完整数据
3. 登录拦截测试
- 点击"立即预约"提示登录
- 点击"立即购买"提示登录
- 登录后可以正常操作
注意事项
-
必须关闭微信开发者工具
- 不关闭工具无法删除缓存
- 缓存不清除会继续使用旧代码
-
后端服务必须重启
- 配置修改后必须重启才能生效
- 确保端口8089可用
-
项目路径要正确
- 导入的是
dist/dev/mp-weixin目录 - 不是
src目录
- 导入的是
-
编译需要时间
- 首次编译可能需要几分钟
- 耐心等待编译完成
如果仍然有问题
如果按照以上步骤操作后仍然有问题,请提供:
- 完整的错误信息截图
- 微信开发者工具的控制台日志
- 后端服务的启动日志
总结
这次修复涉及三个方面:
- 配置修复: 修复了 pages.json 中的错误路径
- 游客模式: 完善了前后端的游客模式配置
- 缓存清除: 清除了所有编译缓存
按照步骤操作后,小程序应该可以正常编译和运行了。