【发布时间】:2019-07-06 05:58:08
【问题描述】:
在纯 VueJS 应用程序中,我们有一个 <div id="app"></div> 容器,VueJS 将所有需要渲染的东西放在其中。
因此,如果我们在浏览器中打开源代码,我们将看不到任何呈现的内容。
所以,如果我们使用 SSR 的 Nuxt 功能,在第一次初始加载时,所有组件都会在服务器上呈现,我们会看到一些 HTML 内容。
但是,当我们浏览网站时,当它在“spa 模式”(使用<nuxt-link>)下工作时会发生什么。当我点击一个链接时,该网站没有完全重新加载。我在 chrome 开发工具中看不到任何请求,非 XHR 非其他。即使我们从后端获得了完全渲染的内容,它也是通过 javascript 插入的,就像 <div id="app"></div>" 的情况一样,因为我们不会重新加载页面。
但我可以在源代码中看到一切都按照 SEO 的需要运行:导航到其他一些路线后,所有 html 都存在于源代码中。但是这是怎么发生的呢?
【问题讨论】:
标签: javascript nuxt.js server-side-rendering