Next.js 静态站点导出中的动态组件
Dynamic components in Next.js static site export
我想使用 Next.js 静态站点导出,但我也想在模板中包含动态组件,这样就不需要在每次更改时都进行构建,因为例如,一个 'navigation' 组件。从我读过的内容来看,这似乎不可能?除了创建单独的客户端构建步骤之外,是否有任何解决方法?
Next 正在努力允许组合静态 + SSR 生成网站,但目前还没有。我目前看到几个选项:
- 您可以导出静态站点,但让该静态站点进行 api 调用等。这样您就可以通过 api 调用加载导航或其他内容。好处 - 没有新的构建。缺点 - 那些 links/that 标记不可用于搜索引擎,并且最初不会出现在用户面前。
- 如果您使用的是 CMS 和 CI 系统(例如,WordPress 用于内容,Travis 用于 CI),您可以在 WordPress 中设置 webhooks 或函数来触发和触发重建并在您的内容更改时在 Travis 中部署。
- 去满SSR。它仍然向浏览器提供一个完全呈现的 "static" 页面,它只是在构建时不是一个静态 HTML 文件,而是在 运行 时一个。如果您需要立即为用户呈现动态内容并且不想每次更改都进行构建,那么这是您的最佳选择。
我想使用 Next.js 静态站点导出,但我也想在模板中包含动态组件,这样就不需要在每次更改时都进行构建,因为例如,一个 'navigation' 组件。从我读过的内容来看,这似乎不可能?除了创建单独的客户端构建步骤之外,是否有任何解决方法?
Next 正在努力允许组合静态 + SSR 生成网站,但目前还没有。我目前看到几个选项:
- 您可以导出静态站点,但让该静态站点进行 api 调用等。这样您就可以通过 api 调用加载导航或其他内容。好处 - 没有新的构建。缺点 - 那些 links/that 标记不可用于搜索引擎,并且最初不会出现在用户面前。
- 如果您使用的是 CMS 和 CI 系统(例如,WordPress 用于内容,Travis 用于 CI),您可以在 WordPress 中设置 webhooks 或函数来触发和触发重建并在您的内容更改时在 Travis 中部署。
- 去满SSR。它仍然向浏览器提供一个完全呈现的 "static" 页面,它只是在构建时不是一个静态 HTML 文件,而是在 运行 时一个。如果您需要立即为用户呈现动态内容并且不想每次更改都进行构建,那么这是您的最佳选择。