Depth-first
The router doesn't try to find the best match, that is, it does not have any notion of specificity. It is satisfied with the first one that consumes the whole URL.
[ { path: ':folder', children: [ { path: 'b', component: ComponentB1 } ] }, { path: 'a', children: [ { path: 'b', component: ComponentB2 } ] } ]
When navigating to
/a/b
, the first route will be matched even though the second one appears to be specific.