vue3报错 Catch all routes ("*") must now be defined using a param with a custom regexp
vue2里可以直接在路由配置如下:

{
    path: '*',
    name: '/404',
    component: NotFound
  }

vue3对404配置进行了修改,的必须要使用正则匹配:

  {
    path: '/:pathMatch(.*)',
    //访问主页的时候 重定向到index页面
    redirect: '/404',
  },
  {
    path: '/404',
    name: '/404',
    component: NotFound
  }

原因:Vue Router不再使用path-to-regexp,而是实现了自己的解析系统,该系统允许路由排名并启用动态路由。由于我们通常会在每个项目中添加一条单独的包罗万象的路线,因此支持的特殊语法没有太大的好处。参数的编码是跨路线编码,无一例外使事情更容易预测。

Logo

前往低代码交流专区

更多推荐