在NuxtJS中初始加载后,SSR如何工作?

问题描述 投票:0回答:1

在纯VueJS应用程序中,我们有一个<div id="app"></div>容器,其中VueJS放置了所有需要渲染的东西。

因此,如果我们在浏览器中打开源代码,我们将看不到任何呈现的内容。

因此,如果我们使用SSR的Nuxt功能,在第一次初始加载时,所有组件都在服务器上呈现,我们看到一些HTML内容。

但是,当我们浏览网站时,当它在“spa模式”下工作时(使用<nuxt-link>)会发生什么。当我点击链接时,该网站未完全重新加载。我看不到Chrome开发工具中的任何请求,非XHR非其他人。即使我们从后端获得完全呈现的内容,它也会通过javascript插入,就像在<div id="app"></div>"情况下一样,因为我们不会重新加载页面。

但是我可以在源代码中看到一切都像搜索引擎优化需求一样:导航到其他一些路由后,所有的html都存在于源代码中。但是这是怎么发生的?

javascript nuxt.js ssr
1个回答
2
投票

该过程称为水合作用。

请注意,在SPA模式下,所有内容都会在客户端上呈现。使用SSR时,第一次渲染发生在服务器上,因此您可以在源代码中看到HTML。

一旦进入客户端,VueJS将“保湿”它的状态,这意味着它将App的状态设置为来自服务器的状态。如果您然后使用<nuxt-link>它将在SPA模式下导航。另一方面,使用正常的<a>不会。

这适用于所有用例,因为Google和其他搜索引擎没有启用Javascript,他们只会对您的所有链接发出全新请求,但您的用户会感觉到SPA页面。

© www.soinside.com 2019 - 2024. All rights reserved.