【问题标题】:Access/Substitute CreatePage outside of Gatsby-node.js在 Gatsby-node.js 之外访问/替换 CreatePage
【发布时间】:2020-11-09 07:37:26
【问题描述】:

我正在使用 Gatsby 创建一个论坛

我开发了一个表单,用户可以使用该表单在名为create.js 的页面中创建线程以添加到论坛,该页面将数据发送到外部数据库。

一旦用户提交了帖子,我想使用模板创建一个新页面,通常我会在Gatsby-node.js中使用;根据Gatsby Docs Gatsby-node.js 仅在部署时运行一次。

还有其他方法可以让我在Gatsby-node.js 之外访问CreatePage(),还是我缺少其他功能?

最终,我希望在用户创建必要的内容后,新页面在 Gatsby 应用程序中可用,而无需重新部署。

【问题讨论】:

    标签: templates gatsby templating


    【解决方案1】:

    Gatsby 的工作方式是所有页面都需要在构建时生成。您无法在不触发新构建的情况下添加新页面。

    Gatsby 不是一个适合论坛的平台,因为内容每天会更改成百上千次。 Gatsby 适用于不经常更改的内容,例如博客(可能一天更新几次)。

    【讨论】:

      【解决方案2】:

      我为了在Gatsby-node.js中不使用CreatePage生成页面,Gatsby建议使用@reach/RoutermatchPage来扩展客户端应用程序的路由器,我们将此功能称为(Client-only Routes)

      更多信息here

      【讨论】:

        猜你喜欢
        • 2020-10-11
        • 2021-03-17
        • 1970-01-01
        • 2020-01-05
        • 2020-12-09
        • 1970-01-01
        • 1970-01-01
        • 2020-08-16
        • 2012-08-19
        相关资源
        最近更新 更多