生成代码按默认配置提交生成后,前端点击进入菜单目录,控制台中提示“路由错误”
Opened this issue · 10 comments
新建个目录试试
我也按你说的测了一下,没有复现,即使是Dashboard下也是正常的。有兴趣可以先排查下是什么原因导致的
我也按你说的测了一下,没有复现,即使是Dashboard下也是正常的。有兴趣可以先排查下是什么原因导致的
您好,先感谢答复!这边花了好几天时间排查,由于对整个项目源码尚不大熟悉,目前排查起来较为吃力,抱歉。
根据 console 报错提示,个人直觉感觉是在动态路由那里,有一条加载组件出错。重新试了下加菜单在 Dashboard 下面,代码中 routerGenerator 里面加 console log 把每个 currentRouter 都打印出来,发现有报错对应的 component: undefined 如下所示:
根据个人猜想:如果加在根目录,新加菜单的最上级那一项 在数据库里面 component 写的是 LAYOUT
,在动态路由读取解析这里可以正常获取到对应的 Layout 组件;但如果我选择了加在已有目录例如 Dashboard 下面,新加菜单的最上级那一项 在数据库里面 component 写的是 ParentLayout
,但在前端解析时 import 不到对应的 parentLayout 组件(虽然看到相应代码文件似乎是存在的),导致变成 undefined。
个人感觉也有点奇怪的是,数据库里预置的多层级的菜单目录数据,似乎也没用上 ParentLayout
,为什么反而生成代码时用上了呢?
暂时不明确下一步怎样继续排查,请您多多指点!
多级目录使用ParentLayout
是对的,问题出在component: undefined
。从你打印的位置来看是刚获取到菜单列表后component
仅进行了一次转换,可以看看component是在哪里变成了undefined