lavas-project/lavas

lavas.config配置路由项,有模式匹配交叉覆盖时,合并内容不对

Closed this issue · 1 comments

  1. 设置所有页lazyloading, 设置所有user/info页keepalive
    现象:keepalive未生效 ,设置如下
   {
                pattern: /.*/,
                lazyLoading: true,
            }, {
                pattern: /\/user\/info/,
                meta: {
                    keepAlive: true
                },
            },

如果将keepAlive设置放在匹配*的lazyload之前设置就ok

  1. 目的:设置所有页lazyloading, 设置所有user子页keepalive ,
    现象:所有子页keepalive未生效,设置如下

{
                pattern: /\/user\/.*/,
                meta: {
                    keepAlive: true
                },
            },{
                pattern: /.*/,
                lazyLoading: true,
            }, 

这个BUG是因为目前 lavas 在合并 router 配置的时候,使用了数组的 find 函数,因此只会找到第一条符合 pattern 的配置进行合并。所以导致了上述两个问题(均是前一条配置生效)

find 改成 filter,并进行一些对应的修改就可以解决问题。目前已经发布了 1.1.13 版本修复了这个问题。