166 lines
3.9 KiB
Markdown
166 lines
3.9 KiB
Markdown
|
|
# pages.json配置错误修复说明 - 2026-02-01
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
|
|||
|
|
小程序编译时报错:
|
|||
|
|
```
|
|||
|
|
app.json 文件内容错误: app.json: 未找到 ["subPackages"][7]["pages"][0] 对应的 activity-package/pages/course/detail.wxml 文件
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 根本原因
|
|||
|
|
|
|||
|
|
`pages.json` 中 `activity-package` 分包配置了一个不存在的页面路径:
|
|||
|
|
|
|||
|
|
**错误配置**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"root": "activity-package",
|
|||
|
|
"name": "activity",
|
|||
|
|
"pages": [
|
|||
|
|
{
|
|||
|
|
"path": "pages/course/detail", // ❌ 错误:这个路径不存在
|
|||
|
|
"style": {
|
|||
|
|
"navigationBarTitleText": "课程详情"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**实际目录结构**:
|
|||
|
|
```
|
|||
|
|
activity-package/
|
|||
|
|
├── pages/
|
|||
|
|
│ ├── academy/
|
|||
|
|
│ │ ├── course-detail.vue ✅ 正确的文件
|
|||
|
|
│ │ ├── detail.vue
|
|||
|
|
│ │ └── index.vue
|
|||
|
|
│ ├── activity/
|
|||
|
|
│ ├── camp/
|
|||
|
|
│ ├── growth/
|
|||
|
|
│ ├── interest/
|
|||
|
|
│ ├── study-tour/
|
|||
|
|
│ └── supervision/
|
|||
|
|
└── static/
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
`activity-package` 中没有 `course` 目录,只有 `academy` 目录,课程详情页面是 `academy/course-detail.vue`。
|
|||
|
|
|
|||
|
|
## 修复方案
|
|||
|
|
|
|||
|
|
修改 `pages.json` 中的路径配置:
|
|||
|
|
|
|||
|
|
**修复后的配置**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"root": "activity-package",
|
|||
|
|
"name": "activity",
|
|||
|
|
"pages": [
|
|||
|
|
{
|
|||
|
|
"path": "pages/academy/course-detail", // ✅ 正确路径
|
|||
|
|
"style": {
|
|||
|
|
"navigationBarTitleText": "课程详情"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 修复步骤
|
|||
|
|
|
|||
|
|
### 1. 修改配置文件 ✅
|
|||
|
|
|
|||
|
|
已修改 `peidu/uniapp/src/pages.json` 文件
|
|||
|
|
|
|||
|
|
### 2. 清除编译缓存
|
|||
|
|
|
|||
|
|
**方式1:在微信开发者工具中**
|
|||
|
|
1. 点击菜单栏"工具" → "清除缓存"
|
|||
|
|
2. 选择"清除数据缓存"和"清除文件缓存"
|
|||
|
|
3. 点击"清除"按钮
|
|||
|
|
|
|||
|
|
**方式2:手动删除(需要先关闭微信开发者工具)**
|
|||
|
|
1. 关闭微信开发者工具
|
|||
|
|
2. 删除以下目录:
|
|||
|
|
- `peidu/uniapp/dist`
|
|||
|
|
- `peidu/uniapp/unpackage`
|
|||
|
|
- `peidu/uniapp/node_modules/.cache`
|
|||
|
|
|
|||
|
|
### 3. 重新编译
|
|||
|
|
|
|||
|
|
在微信开发者工具中点击"编译"按钮
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **清除缓存前必须关闭微信开发者工具**
|
|||
|
|
- 如果工具正在运行,文件会被占用,无法删除
|
|||
|
|
|
|||
|
|
2. **确保后端服务已启动**
|
|||
|
|
- 端口8089应该可用
|
|||
|
|
- 如果被占用,先停止旧进程
|
|||
|
|
|
|||
|
|
3. **游客模式配置已完成**
|
|||
|
|
- 后端已添加所有公开接口到白名单
|
|||
|
|
- 前端已配置游客模式逻辑
|
|||
|
|
|
|||
|
|
## 完整的修复流程
|
|||
|
|
|
|||
|
|
### 步骤1:修复pages.json配置 ✅
|
|||
|
|
已完成
|
|||
|
|
|
|||
|
|
### 步骤2:重启后端服务
|
|||
|
|
```bash
|
|||
|
|
# 查找占用8089端口的进程
|
|||
|
|
netstat -ano | findstr :8089
|
|||
|
|
|
|||
|
|
# 停止进程
|
|||
|
|
taskkill /F /PID <PID>
|
|||
|
|
|
|||
|
|
# 在IDEA中重新启动 PeiduApplication
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤3:清除前端缓存并重新编译
|
|||
|
|
```bash
|
|||
|
|
# 关闭微信开发者工具
|
|||
|
|
|
|||
|
|
# 删除缓存目录
|
|||
|
|
cd peidu/uniapp
|
|||
|
|
rmdir /s /q dist
|
|||
|
|
rmdir /s /q unpackage
|
|||
|
|
rmdir /s /q node_modules\.cache
|
|||
|
|
|
|||
|
|
# 重新打开微信开发者工具并编译
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 测试验证
|
|||
|
|
|
|||
|
|
编译成功后,测试以下功能:
|
|||
|
|
|
|||
|
|
### 1. 游客模式测试
|
|||
|
|
- [ ] 专项突破列表显示正常
|
|||
|
|
- [ ] 兴趣培养列表显示正常
|
|||
|
|
- [ ] 测评师列表显示正常
|
|||
|
|
- [ ] 成长规划师列表显示正常
|
|||
|
|
- [ ] 课程详情页显示正常
|
|||
|
|
|
|||
|
|
### 2. 登录拦截测试
|
|||
|
|
- [ ] 点击"立即预约"提示登录
|
|||
|
|
- [ ] 点击"立即购买"提示登录
|
|||
|
|
- [ ] 登录后可以正常预约和购买
|
|||
|
|
|
|||
|
|
## 涉及的文件
|
|||
|
|
|
|||
|
|
### 修改的文件
|
|||
|
|
- `peidu/uniapp/src/pages.json` - 修复了activity-package的页面路径配置
|
|||
|
|
|
|||
|
|
### 相关文件
|
|||
|
|
- `peidu/uniapp/src/activity-package/pages/academy/course-detail.vue` - 实际的课程详情页面
|
|||
|
|
- `peidu/backend/src/main/java/com/peidu/config/WebMvcConfig.java` - 后端游客模式配置
|
|||
|
|
- `peidu/uniapp/src/utils/request.js` - 前端游客模式配置
|
|||
|
|
|
|||
|
|
## 总结
|
|||
|
|
|
|||
|
|
这是一个配置错误,`pages.json` 中配置的页面路径与实际文件路径不匹配。修复后需要清除编译缓存并重新编译才能生效。
|
|||
|
|
|
|||
|
|
同时,游客模式的后端和前端配置都已完成,重新编译后应该可以正常工作。
|