【问题标题】:Generate site when headless cms modifies database无头 cms 修改数据库时生成站点
【发布时间】:2020-11-06 04:27:10
【问题描述】:

我一直在阅读有关当客户请求查看网站时 nuxt 如何生成静态网站的信息。我们正计划构建一个无头 cms 来使用网站所需的数据迁移数据库。只有当您将其保存在无头 cms 中时,此数据才会更改。

我的问题是因为这些数据只有在无头 cms 中更改时才会更改。从无头cms修改站点时是否可以仅生成站点,然后将该站点提供给客户端?降低服务器成本。

可以用 nuxt 做到这一点吗?或者有没有可能做到这一点?

我们计划使用 Firebase 作为后端。

【问题讨论】:

    标签: firebase nuxt.js static-site headless-cms


    【解决方案1】:

    每次更改数据库中的项目时,都没有明确阻止 Nuxt 被重建。重要的部分是如何告诉你的应用重建自己。

    到目前为止,最简单的方法是使用某种“构建挂钩”。请参阅 Netlifys 文档 here 以快速了解它们是什么。但是,这只有在您使用可以在保存时发送挂钩的无头 CMS 以及可以使用这些挂钩触发构建的构建提供程序时才真正有效。

    使用这种方法绝对可以节省服务器成本,但请注意:如果您有大量用户生成的内容触发构建,您的构建成本很容易超过服务器成本。您还需要注意,构建通常需要几分钟,因此您不会在您的网站上看到即时更改。

    您拥有的另一个选择是放弃静态站点生成以支持 SSR,它可以动态加载和呈现您的内容,完全避免每次进行新的数据库更改时都需要构建。如果您确实有很多用户生成的内容,我认为这是最好的选择。

    如果不了解 CMS 或构建提供程序的具体情况,很难提供任何进一步的建议。

    【讨论】:

    • 但是 SSR 会为每个客户请求呈现网站,对吗?
    • SSR 为 Nuxt 服务器的每个请求呈现网站。但是,您通常会采用某种类型的缓存策略来减少对服务器的请求数量。不过,我会谨慎使用 SSR,由于各种原因,在其上进行开发可能会更加困难,并且显然存在您需要维护某种服务器的缺点。
    猜你喜欢
    • 2021-01-20
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 2022-01-21
    • 1970-01-01
    • 2017-11-29
    • 2020-11-28
    相关资源
    最近更新 更多