关于umi接管了路由之后的动态配置。
路由通过 router.js 配置文件自动生成。 在 models/ menu.js中可以获取到,但从这里获取到并过滤之后的其实不是路由配置。
正确过滤方式,通过在 router.config.js中,增加一个 字段用来递归过滤,我这里用 local 表示,在config.js中引入了路由配置,从这里过滤就可以了,过滤器代码如下:
//过滤local路由 const filter = (arr) => { let res = arr.filter(item=>{ if(item.path && item.local){ return false; }else{ if(item.routes instanceof Array && item.routes.length>0){ item.routes = filter(item.routes); } return item; } }) return res; }