reactjs - CSR vs SSR vs Pre-render,我应该选择哪一个?

标签 reactjs server-side-rendering csr

目前,我的项目有两部分,一是登录前,一是登录后。

我想要实现的是,在登录之前需要快速和SEO友好,我应该选择预渲染还是SSR?

登录后,我们可以选择CSR(这样客户端就可以等待页面加载了)。

或者,我可以做两个 CSR,一个用于登录前(快速加载),客户端登录后,通过 JWT token 重定向到登录后 CSR 页面?

谢谢

最佳答案

对于需要抓取的页面,CSR 很可能不是一个选项。那么问题就变成了您是选择预渲染还是 SSR。答案是视情况而定。

SEO 内容是静态的,还是在给定时间取决于其他一些后端 API 响应?

如果它是静态的,预渲染应该足够了。但如果它依赖于其他 API,则内容可能会在运行时发生变化,您必须执行真正的 SSR 以适应这种情况。但是,SSR 在服务器上占用更多资源。

至于登录后的部分,因为它可能无论如何都不应该被机器人抓取,所以对所有登录的页面做CSR是可以的。 CSR 本身并不意味着您的初始加载速度会明显更快,但需要考虑很多因素,例如 HTML 文档大小、网络行程延迟、您自己的服务所依赖的其他服务的响应时间等. 但是,随着使用 service worker 和使用 app-shell 模型,CSR 几乎总是比 SSR 更快。我建议研究一下以提高 CSR 速度。 Link

关于reactjs - CSR vs SSR vs Pre-render,我应该选择哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58107986/

相关文章:

javascript - esri-leaflet-geosearch : how to integrate it with React

javascript - 使用 React 的动态表

reactjs - 如何使用客户端时区在 React SSR 渲染页面中格式化时间?

openssl - 在 PKCS#11 中签署证书

java - 如何在 java 中解码 .csr 文件以提取其内容

css - 当我提到本地路径时,为什么背景图片没有显示?

javascript - 在子组件中调用父函数

javascript - Next Js - Firebase 部署问题

angular - 在 Angular 6.0.3 中安装 PWA 后,通用服务器端渲染停止渲染内容

java - 使用java程序生成ssl证书签名请求