nextjs.svg
原文链接:Two Forms of Pre-rendering

静态生成(Static Generation)

1. 特性

这是Next.js官方推荐的页面渲染方式,该种方式在页面HTML结构生成的时候(built-time)起到页面渲染的效果,并不会在每次请求时生效。但是在开发环境中,该方式会对每次请求都进行页面HTML结构的预渲染
image.png

2.适用场景

按照官方的描述,静态生成(Static Generation)适用于多种网站,包括但不限于:企业官网、文章博客和电商网站。尤其是当你每次都需要在用户的请求前进行预渲染的时候,那么该方式就是你的不二选择
但是,倘若你的网站更新信息十分频繁,或者用户每次请求完成时网站展现的信息可能发生变化时,那么静态生成(Static Generation)就会显得不太适合。所以,next.js为我们提供了另一种预渲染方式:服务端预渲染(Server-side Rendering)。

服务端预渲染(Server-side Rendering)

1. 特性

静态生成(Static Generation)不同,服务端预渲染(Server-side Rendering)对每一次的请求都进行一次预渲染的行为
image.png

2. 适用场景

如上文所述,如果你的网站更新的十分频繁,或者每次请求过后所生成的页面都所不同,那么尽管会比较慢,但服务端预渲染(Server-side Rendering)会是更好的选择。