【问题标题】:Why nuxtServerInit is called multiple times on site load为什么在站点加载时多次调用 nuxtServerInit
【发布时间】:2019-02-16 21:12:22
【问题描述】:

我正在处理nuxt-edge + auth.nuxt + vuex 项目,并且在商店的nuxtServerInit 方法中,我只在控制台中记录了一条消息。当网站重新加载时,消息会被打印多次。这似乎只发生在dev 模式下。

【问题讨论】:

  • 每当我遇到这个问题时,都是因为缺少资产会获取触发它自己的 nuxtServerInit 调用的错误页面。
  • 似乎 vue devtools 扩展对服务器 onload 进行了自己的调用。在 Chrome 中,有多个(许多)对服务器 onload 的请求。由于这个问题,我不得不在 Firefox 中开发。
  • @SteveHynding - 这个评论让我很头疼。请添加它作为答案!谢谢

标签: vuejs2 vuex nuxt-edge


【解决方案1】:

任何时候从您的服务器请求资产并导致错误,Nuxt 都会为每个文件呈现并返回一个单独的错误。错误页面被视为 Nuxt 中的任何其他页面。这意味着 nuxtSeverInit 会为您的初始请求调用,并为服务器上的每个错误请求再次调用。

检查您的网络请求以跟踪从 Nuxt 服务器请求的每个错误资产。

【讨论】:

  • 非常感谢!这看起来是我的确切情况。在我解决根本原因之前,我想确定这些“错误请求”,以便我可以跳过应用程序初始化代码。如何将这些请求识别为“错误请求”?谢谢!
【解决方案2】:

刚刚发现使用 nuxt,所有内部链接都应该使用 NuxtLink 创建,而不是 href,我有一个带有 href 的菜单栏,并在我没想到的地方看到了 api 请求,因为我在商店中使用了 NuxtServerInit,但还有其他一些链接没有导致额外的 api 调用,这些链接是 NuxtLink 的。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2021-05-21
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多