vue路由器路径中的双星号是什么意思?

What does double asterisk mean in vue router path?

我看到一些 vue 路由器配置在路径中包含此模式,例如:

{path: "**", component: Xxx}

这是什么意思,与path: "*"相比有什么区别?

据我所知,"*""**" 应该具有相同的功能,因为 * 应该匹配 任何东西 。我可以从源代码中推断出 "*""**" 之间的唯一区别与代码的 this 部分有关:

// ensure wildcard routes are always at the end
for (var i = 0, l = pathList.length; i < l; i++) {
    if (pathList[i] === '*') {
       pathList.push(pathList.splice(i, 1)[0]);

此代码块会将 "*" 个路由移动到末尾,这意味着在匹配通配符路由之前,将首先匹配所有已定义的其他路由。但是,"**" 不会移动到末尾,这意味着在 "**" 之后定义的任何路由都不会匹配。