uni-app Cannot read property 'subpackages' of undefined
uni-app Cannot read property ‘subpackages’ of undefined
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win11 | HBuilderX |
产品分类:HbuilderX
操作步骤:
- page.json文件 加东西(路由里边随意加个属性) 不报错, 删东西(比如删个"disableScroll": true)就报错
预期结果:
- page.json文件 加东西(路由里边随意加个属性) 不报错, 删东西(比如删个"disableScroll": true)就报错
实际结果:
- page.json文件 加东西(路由里边随意加个属性) 不报错, 删东西(比如删个"disableScroll": true)就报错
bug描述:
今天下午来上班 提示更新 更新完了才有这种情况 以前没遇到过
我只要一改page.json文件 就报错
page.json文件 加东西 不报错 删东西(比如删个"disableScroll": true)报如下错误
17:18:38.318 pages.json解析失败
17:18:38.318 TypeError: Cannot read property 'subpackages' of undefined
17:18:38.318 at processPagesJson (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\uni-cli-shared\lib\pages.js:73:17)
17:18:38.318 at getPagesJson (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\uni-cli-shared\lib\pages.js:38:10)
17:18:38.334 at parseEntry (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\uni-cli-shared\lib\pages.js:224:17)
17:18:38.334 at D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\webpack-uni-mp-loader\lib\plugin\index-new.js:135:13
17:18:38.334 at SyncHook.eval [as call] (eval at create (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:7:1)
17:18:38.334 at Watchpack.<anonymous> (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\webpack\lib\Watching.js:142:33)
17:18:38.334 at Object.onceWrapper (events.js:421:26)
17:18:38.334 at Watchpack.emit (events.js:314:20)
17:18:38.334 at Watchpack._onChange (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\watchpack\lib\watchpack.js:118:7)
17:18:38.334 at Watchpack.<anonymous> (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\watchpack\lib\watchpack.js:99:8)
17:18:38.350 at Watcher.emit (events.js:314:20)
17:18:38.350 at D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\watchpack\lib\DirectoryWatcher.js:109:7
17:18:38.350 at Array.forEach (<anonymous>)
17:18:38.350 at DirectoryWatcher.setFileTime (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\watchpack\lib\DirectoryWatcher.js:108:41)
17:18:38.350 at DirectoryWatcher.onChange (D:\Program Files\HBuilderX\plugins\uniapp-cli\node_modules\watchpack\lib\DirectoryWatcher.js:264:7)
17:18:38.350 at FSWatcher.emit (events.js:314:20)
5 回复
我也是这个问题,是不是随便一改哪里保存就报错得重新运行编译
我测了一下 加东西没事 删东西就不行
回复 4***@qq.com: 那还好,我的有改动就不行
我是json里面多加了个逗号导致的
在 uni-app 开发中,如果你遇到 Cannot read property 'subpackages' of undefined
的错误,通常是因为在 pages.json
文件中配置了 subpackages
,但配置格式不正确或缺少必要的字段。
可能的原因和解决方法:
-
subpackages
配置格式错误:subpackages
是一个数组,每个子包应该是一个对象,包含root
和pages
字段。- 确保
subpackages
的配置格式正确。
{ "pages": [ { "path": "pages/index/index", "style": { "navigationBarTitleText": "首页" } } ], "subpackages": [ { "root": "subpackageA", "pages": [ { "path": "pageA/pageA", "style": { "navigationBarTitleText": "子包A" } } ] } ] }
-
subpackages
配置为空或未定义:- 如果你没有使用子包功能,确保
subpackages
字段不存在或为空数组。 - 如果你使用了子包功能,确保
subpackages
字段存在并且配置正确。
{ "pages": [ { "path": "pages/index/index", "style": { "navigationBarTitleText": "首页" } } ], "subpackages": [] }
- 如果你没有使用子包功能,确保
-
pages.json
文件格式错误:- 确保
pages.json
文件是一个有效的 JSON 文件,没有语法错误。 - 可以使用在线 JSON 校验工具检查
pages.json
文件的格式是否正确。
- 确保
-
uni-app 版本问题:
- 如果你使用的是较旧的 uni-app 版本,可能存在一些兼容性问题。尝试升级到最新版本。
npm update [@dcloudio](/user/dcloudio)/uni-app
-
重新编译项目:
- 有时候,修改
pages.json
文件后,可能需要重新编译项目才能生效。尝试重新运行项目。
npm run dev
- 有时候,修改