Vue设置路由后页面仍不显示为空白

项目场景:

提示:这里简述项目相关背景:
Vue设置路由后页面仍不显示为空白


问题描述

提示:这里描述项目中遇到的问题:

在index.js中的路由正常、
Vue设置路由后页面仍不显示为空白_第1张图片

在访问路径之后返回的页面是一个空白的页面,奇怪的是前端也不报错
Vue设置路由后页面仍不显示为空白_第2张图片

原因分析:

提示:这里填写问题的分析:

在网上找了相关现象的解决问题,但是方法都不能处理我所遇到的这个bug,后来把代码一点点喂给GPT帮我分析


解决方案:

提示:这里填写该问题的具体解决方案:

在之前的路由路径没问题但是访问时空白页面的问题,在上面代码中加一个mode: 'history’就解决了

const router = new VueRouter({
  mode: 'history',
  routes
})

还是在index.js文件中
Vue设置路由后页面仍不显示为空白_第3张图片
之后就出来了
Vue设置路由后页面仍不显示为空白_第4张图片
这是GPT给出的回答:


mode: 'history' 是 Vue Router 的一个选项,它用于指定路由的模式。默认情况下,Vue Router 使用的是 hash 模式,即 URL 中带有 # 符号,而加上 mode: 'history' 后,使用的是 HTML5 History 模式,即 URL 中没有 # 符号。

使用 HTML5 History 模式可以使 URL 更加美观,并且去掉了 # 符号,但也需要服务器端配置来确保在直接访问页面时不会出现空白页面的问题。

具体来说,当你使用 HTML5 History 模式时,当用户直接访问某个路由路径时,例如 http://example.com/some-path,服务器需要正确配置,以便将该请求重定向到你的 Vue.js 应用程序的入口点,通常是 index.html 文件。

这是因为在 HTML5 History 模式下,前端路由通过修改 URL 来控制页面内容,但服务器需要正确处理这些 URL,否则会导致空白页面或 404 错误。

要解决这个问题,你需要配置服务器,以便在收到对不存在的路由路径的请求时,始终返回你的应用程序的入口点。这通常涉及到配置一个通配符路由或重定向规则,以确保所有路由都指向你的 index.html 文件。

具体的服务器配置方法取决于你使用的服务器技术。如果你使用的是 Apache、Nginx、Express.js 等,你可以查阅相关文档以了解如何配置。不同的服务器配置方式略有不同。

总之,mode: 'history' 可以解决 URL 美观性的问题,但需要额外的服务器配置来处理直接访问页面的情况,以免出现空白页面问题。确保你的服务器配置正确,以使 HTML5 History 模式能够正常工作。

你可能感兴趣的:(vue.js,前端,javascript)