const routes = [
{
path: '*',
redirect: '/home'
},
{
path: '/home',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
}
]
不是说通配符*应该放到最后吗,根据路由规则,我如果输入''/about'',应该会被通配符匹配,跳转到/home,可是我试了下,里路由还是可以正常跳转到/about
只是建议通配符*放到最后,放在前面也没有影响。
只有找不到指定路由才会执行通配符。
应该是优先级问题,指定路径优先级高于通配符的,如果指定的路径中没有要找的路径则会进入通配符,一般都是将通配符*放到最后,另外也不会重定向到首页,而是重定向到自定义的404页面,告诉开发者此路径不存在
通配符 是 当 path 不存在 router配置中 ,他就会 给他重定向到 通配符里 。优先级问题 。