如何让 Nuxt.js 预渲染页面的完整 HTML?

Posted

技术标签:

【中文标题】如何让 Nuxt.js 预渲染页面的完整 HTML?【英文标题】:How do I get Nuxt.js to pre-render the full HTML for pages? 【发布时间】:2020-09-08 14:56:48 【问题描述】:

我有一个基本应用程序(nuxt 版本 2.12.2),我通过运行npx create-nuxt-app 并将模式设置为“SPA”。当我使用npm run buildnpm run generate 时,它会为每个页面创建一个html 文件,但它不会预先呈现页面中的任何实际HTML。它只有加载单页应用程序的 javascript。出于 SEO 的原因,我希望每个页面都具有预渲染的 HTML。最好的方法是什么?

我真的很惊讶我在 Nuxt.js 文档中没有找到任何解决此问题的内容。

【问题讨论】:

【参考方案1】:

我同意这是文档中的一个空白,我也为此苦苦挣扎。事实证明,nuxt generate 在通用模式和水疗模式下的行为不同。如果您希望您的 HTML 文件在服务器上预渲染,您需要 universal 模式。

【讨论】:

谢谢你,我以为我快疯了。我在 netlify 上部署了一个网站,我注意到我们在使用 s-s-r: true 的灯塔上的得分一直更高,即使在技术上它背后没有节点。当我的意思是始终更好时,我的意思是从 s-s-r:false 到 s-s-r:true 的分数差异为 40 分。我真的无法理解为什么会这样!谢谢!

以上是关于如何让 Nuxt.js 预渲染页面的完整 HTML?的主要内容,如果未能解决你的问题,请参考以下文章

nuxt.js服务端渲染中如何实现路由的跳转

基于Vue.js服务器端渲染框架Nuxt.js(初识)

estssr和ssr的区别

H5页面如何进行首屏优化

[第7期] 基于 Nuxt 的 Vue.js 服务端渲染实践

打包微服务前后端分离项目并部署到服务器 --- 分布式 Spring Cloud + 页面渲染 Nuxt.js