所有路由刷新,闪现首页再跳回目标路由

如题,build后发测试和生产都有这个现象。路由未跳转,有使用prerender-spa-plugin做预渲染。
加 style=“display:none” 或v-cloak 都无效

求解决方法

普通的路由跳转会出现这个现象么?

history 模式 ? :thinking:

正常操作跳转是没问题的,但是刷新就有问题

这个跟history模式有关系吗

https://router.vuejs.org/zh/guide/essentials/history-mode.html#后端配置例子

这个是要后端配置的吗?

如果你是用的 history 模式,那么是的。

history 刷新也不会有闪烁现象啊

:sweat: 审题错误。。。。
估摸着 应该是 路由守卫的逻辑有问题?

路由守卫都没有特别设置。。。

现在怀疑的是
在使用prerender-spa-plugin预渲染后,配置是对应的路由会生成index.html文件。因为配置预渲染需要将路由配置为history模式,在Nginx或者apache配置里,会将url重定向到根目录的index.html,所以在页面还没有被vue给接管的时候,刷新的一瞬间是会展示预渲染时候生成的根目录的index.html的内容。

在 index 上写个空白页面(或是加载提示),然后无权访问时跳转到 login ?
感觉这样预渲染会没意义???

这个需要nginx配置

if (!-e $request_filename) {
rewrite ^/(.*) /index.html last;
break;
}

改了这样的配置,出现新问题了~ 前3次刷新 不会出现首页闪现了,第4次以后 又会必现首页。。。

是这样配置么??
官方配置不是这样么??

location / {
  try_files $uri $uri/ /index.html;
}

官方这样配置,就是导致每次刷新都闪现首页了。。。。改了之后头3次还不会闪现:sweat_smile:

这个问题有解决么?本人本机调试也出现了这个问题