找不到与路径匹配的位置 - Vue 3 + Vue Router 4

Posted

技术标签:

【中文标题】找不到与路径匹配的位置 - Vue 3 + Vue Router 4【英文标题】:No match found for location with path - Vue 3 + Vue Router 4 【发布时间】:2021-11-01 16:02:05 【问题描述】:

我需要在 Vue 应用程序中动态创建路由。我在这个代码沙箱link上创建了一个基本组件。

我遇到的问题是,在首次加载主页时返回 404,即使该路由已添加到应用程序的 created() 生命周期内。我知道这个问题是导航是在创建应用程序之前触发的,因此这就是为什么在应用程序上导航时导航会自行解决。

在我的更大规模的应用程序中,返回的错误是(由于定义了 Not Found 页面,因此未在 Sandbox 上显示):

[Vue Router warn]: No match found for location with path "/"

请不要提供包括在初始化 VueRouter 时添加路由的解决方案,因为我特别需要在应用程序的 created() 生命周期中添加它们,因为我将接收的数据将来自 API,我需要在那里处理。

我尝试过使用导航守卫,但我还没有设法解决这个问题。

请让我知道我做错了什么以及如何解决这个问题。非常感谢任何帮助。

提前致谢。

大家好。 :)

【问题讨论】:

【参考方案1】:

添加路由后需要触发新的导航:https://next.router.vuejs.org/guide/advanced/dynamic-routing.html#adding-routes

【讨论】:

以上是关于找不到与路径匹配的位置 - Vue 3 + Vue Router 4的主要内容,如果未能解决你的问题,请参考以下文章

VuetifyLoaderPlugin 错误找不到 vue-loader 的匹配规则

vue打包后找不到资源路径问题

关于vue打包文件的路径问题

vue下载本地文件vue下载本地文件报错vue下载本地文件找不到

带有 webpack 别名的 Vue-typescript 错误,找不到路径

vue3 history模式下 子路由刷新引入文件找不到