nextjs 预渲染所有页面还是仅预渲染第一页?

2024-03-18

我正在学习 nextjs 并在某些地方读到 nextjs 仅预渲染第一页,而在其他一些地方他们说 nextjs 默认情况下预渲染所有页面,所以我无法理解哪一个是正确的


有不同的渲染策略。您可以通过在页面文件中添加方法来选择 Next Js 为每个页面选择哪个。

  1. getStaticProps 将预渲染一个 HTML 文件,消耗了构建时间,您仍然可以使用 useEffect 来填充页面的内容。

  2. getStaticPath 有点相同,但您可以为不同的路线预渲染不同的页面,或者根据需要在不存在的路径上预渲染不同的页面,如果fallback: 'blocking'提供

  3. 您还可以采用 ISR(增量静态再生),这是一种介于静态/SSR 之间的形式,其中页面根据需要生成,并缓存指定的时间,通过添加revalidate.

  4. getServerSideProps 将按需渲染页面

每一种渲染策略都有优点和缺点,静态页面对于第一次渲染很有用,但可能需要另一次往返来水合内容。服务器渲染对于 SEO 很有用,但会导致服务器 CPU 使用率更高。

好处是您可以根据渲染的页面选择采用哪种策略。

编辑:我没有添加它,但这些方法的原理是您在其中获取数据/执行操作,并且它们的返回语句将被它们所在的页面作为参数使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nextjs 预渲染所有页面还是仅预渲染第一页? 的相关文章

随机推荐