我使用带有页面路由的 Next.js 和 Laravel 作为 API 后端开发了一个电子商务网站。该网站目前托管大约 10,000 个产品,我需要静态生成所有产品页面。我正在考虑的一种方法是使用增量静态再生 (ISR)。但是,由于我的自托管 Next.js 设置的性质,每次 Docker 容器重新启动或重新部署应用程序时,所有预构建的页面都会被清除。这会导致用户遇到尚未预先生成的页面。
另一种选择是在构建过程中生成所有页面,但由于需要大量时间,这是不切实际的。
我相信,如果我能够在每次构建后以某种方式在队列中生成页面的静态版本,并在几个小时内逐渐完成所有静态页面,那将是有益的。
另外,我不得不说,每个页面在任何更新后都会通过后端调用 webhook 来重新验证。(按需重新验证)
考虑到自托管设置的限制,是否有推荐的方法或工具来在 Next.js 中实现这种静态生成?
感谢您提供的任何指导或建议。
另一种选择是在构建过程中生成所有页面,但由于需要大量时间,这是不切实际的。
如果您的产品太多,您只预渲染最受欢迎的产品,并将它们存储在 CDN 中。或者如果是假期,比如说圣诞节,你也预渲染相关产品