node.js - 服务器端渲染 (Next.js) 和静态站点渲染 (Gatsby.js) 有什么区别?

标签 node.js reactjs gatsby next.js server-side-rendering

我想创建一个不依赖客户端 JavaScript 的网站,但是,我仍然想使用 SPA 功能,如客户端路由等,所以我正在考虑使用一个不呈现的框架客户端。这 2 个似乎是此类事情的首选,但是,我不确定这 2 个不同类型的服务器处理之间的差异。

最佳答案

服务器端呈现是从客户端/浏览器向服务器发出请求,然后在那个时候即时生成 HTML 运行时并发送回要呈现的浏览器。

静态站点呈现非常相似,但是解析是在构建时间期间进行的。因此,当发出请求时,HTML 将被静态存储并可以直接发送回客户端。


两者各有优缺点:

虽然静态站点在运行时会更快,因为不需要服务器端处理,但这确实意味着对数据的任何更改都需要在应用程序服务器端进行完全重建。

或者,使用服务器端方法,将任何缓存放在一边,数据在运行中处理并直接发送到客户端。


通常,最好根据您的内容必须具备的动态性和实时性与应用程序需要的性能来做出最佳决定。

例如,Stackoverflow 很可能使用服务器端呈现方法。每次提交新帖子时,它都会重建每个问题页面的静态版本,这有两个问题。数据还需要非常实时,用户才能看到几秒钟前提交的帖子。

但是,几乎没有任何内容更改的博客网站或促销网站会从静态网站设置中获益更多。响应时间会更长,服务器成本会更低。

关于node.js - 服务器端渲染 (Next.js) 和静态站点渲染 (Gatsby.js) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58197798/

相关文章:

reactjs - TypeScript React : How do you pass a generic to a React. ComponentProps<typeof ComponentWithGenericProps>?

gatsby - "Gatsby-plugin-sharp wasn' t 在 gatsby-config.js 中正确设置。确保将它添加到插件数组中。”

graphql - Gatsby 内容丰富的嵌入图像

node.js - jsSHA HMAC-512 值与 Node.js HMAC 不匹配

angularjs - 如何使用 Azure AD 授权 Node.js API?

javascript - 如何读取Object.keys()值JSON?

javascript - react / Gatsby ;无法读取 null 的属性 'map'

javascript - 如何在node js中解压缩.prproj文件(premiere pro项目)?

reactjs - 使用 header 通过 fetch-mock 模拟获取请求

reactjs - useNavigate 状态为空?