0

我试图在我的开发工具的帮助下弄清楚关于 Nuxt“通用”模式的基本知识,但我不确定我是否理解正确。

每次我在 Universal Nuxt 应用程序中请求新路由时,它似乎都会向 Node 服务器发送 200(OK)请求。我是否正确理解在每个页面请求中,节点服务器都会请求并提供一个新文档?

有些人声称即使在运行通用模式时,Node 服务器也只发送一个包,然后导航和后续页面在客户端加载,因此不再访问 Node 服务器,但事实并非如此,如何搜索引擎爬虫可以索引吗?

相反,基本上在每条新路由上,页面都会以预渲染的形式从节点服务器重新请求,对吗?这就是“通用”模式实际上对 SEO 友好的方式,因为爬虫可以查看所有页面并将其正确索引到 Google 或 Bing?

很抱歉,我只是 Nuxt 的初学者,我完全理解(我认为)SPA 和 Nuxt 生成模式是如何工作的,但目前这种通用模式对我来说仍然是个谜。

我将非常感谢对此的任何澄清!!!这对我的学习之旅非常有价值!谢谢!

4

1 回答 1

1

了解不同“种类”的导航很重要。

如果您通过在浏览器的 URL 栏中键入路由来导航到路由,则浏览器正在访问服务器(这与 Nuxt 无关),您返回的是 HTML,其中包含由 Nuxt + js 预渲染的路由的 HTML 内容捆。如果您使用 F5(重新加载),也会发生同样的事情。

另一方面,如果您<nuxt-link>在指向不同路由/页面的某个 Nuxt 页面内部使用并单击它,则底层 Vue 路由器将用于切换到不同页面(Vue 组件),不请求服务器(对于 HTML)和新组件(页面)将只处理渲染客户端

以这种方式导航时可能会有 Ajax 请求,但请求不是针对服务器端呈现的 HTML。它用于附加 JS 内容。这是因为 Nuxt 正在使用自动代码拆分(因此当您第一次访问服务器时,只加载该路由工作所需的 JS)。一旦加载了特定路由的 JS 包,它将不会在后续导航中再次加载,除非您的页面/组件内部正在从某些 API 加载数据,否则在导航期间您将看不到任何对服务器的请求......

于 2019-12-09T15:05:03.437 回答