9阅网

您现在的位置是:首页 > 知识 > 正文

知识

reactjs - 无头的SPA服务器端方法与内容管理系统系统

admin2022-10-10知识24

我正在评估如何在SPA应用中以React和CMS为后台实现服务器端渲染。

这是我看到的方法 Next.js 建议有per-rendered和所有大多数CMS系统建议。

  1. 用户从Node服务器上运行的react应用中请求一个页面。
  2. 节点服务器通过fetch调用向CMS请求JSON数据。
  3. 然后React App读取这些JSON,并像renderToString()一样将HTML转化为String,然后将响应发回给用户。

这种方式的缺点是,如果CMS的JSON数据很大,那么第一次请求就需要很长时间。

你有什么其他的解决方案?



【回答】:

Heyooo,这里是Contentful DevRel。??

你的担心是绝对有道理的。

这就是为什么Next.js最近加入了 使用getStaticProps进行高级静态预生成。. 我们的目标是通过尽可能多的预生成来解决动态响应时间长的问题。这样用户就有了一个快速的初始内容画像,但仍然可以享受React应用带来的所有动态优势(Next.js通常遵循同构JavaScript架构)。

你所描述的处理时间就从动态请求响应时间转移到了构建过程中。

一般来说,当你不处理数百万个页面时,我建议你尝试一下静态HTML。它使应用程序往往更快、更安全、更有保障。对于更完整和更大的网站,Vercel也在尝试混合解决方案,提供只预生成某些页面的方法。不过这都是很新的东西 :)