reactjs - 无头的SPA服务器端方法与内容管理系统系统
我正在评估如何在SPA应用中以React和CMS为后台实现服务器端渲染。
这是我看到的方法 Next.js 建议有per-rendered和所有大多数CMS系统建议。
- 用户从Node服务器上运行的react应用中请求一个页面。
- 节点服务器通过fetch调用向CMS请求JSON数据。
- 然后React App读取这些JSON,并像renderToString()一样将HTML转化为String,然后将响应发回给用户。
这种方式的缺点是,如果CMS的JSON数据很大,那么第一次请求就需要很长时间。
你有什么其他的解决方案?
【回答】:
Heyooo,这里是Contentful DevRel。??
你的担心是绝对有道理的。
这就是为什么Next.js最近加入了 使用getStaticProps进行高级静态预生成。. 我们的目标是通过尽可能多的预生成来解决动态响应时间长的问题。这样用户就有了一个快速的初始内容画像,但仍然可以享受React应用带来的所有动态优势(Next.js通常遵循同构JavaScript架构)。
你所描述的处理时间就从动态请求响应时间转移到了构建过程中。
一般来说,当你不处理数百万个页面时,我建议你尝试一下静态HTML。它使应用程序往往更快、更安全、更有保障。对于更完整和更大的网站,Vercel也在尝试混合解决方案,提供只预生成某些页面的方法。不过这都是很新的东西 :)