GatsbyJS:仅隐藏特定页面

时间:2020-01-30 16:40:42

标签: javascript gatsby

我想知道是否有可能告诉Gatsby进程仅修改特定页面。情况可能是:

您有一个拥有数千篇文章的庞大Blog。对于初始构建,我通过GraphQL API获取内容,并为我的所有帖子创建所有/ post /:postId页面。据我了解GatsbyJS的情况,我想更改一个或多个帖子时必须重新运行构建过程。但是:构建过程中包含很多内容,速度很慢,而且告诉盖茨比只需修改现有构建的构建过程就容易得多。例如,我只想更改帖子标题,例如:

const newPage = { ...page };
deletePage(page);
createPage({
  ...newPage,
  context: {
    ...newPage.context,
    title: 'My new Blog title',
  },
});

有什么办法告诉gatsby仅重建受影响的文件而不是重建所有文件吗?

另一种解决方案是从客户端上的graphql API提取始终存在的数据,但随后我失去了SSR的好处以及仅提供静态HTML文件的好处。

1 个答案:

答案 0 :(得分:1)

您描述的内容称为增量构建

在github上有一个issue on the official Gatsby repo关于您的确切问题。您所需的功能似乎将在接下来的几个版本中提供:

dominicfallows 18天前评论了

只是想更新一下,我的团队即将将PR发布到我们认为可以实现增量构建的Gatsby存储库中。我们只是花一些时间来编写良好的PR并收紧代码,但是完成后(在下一周左右),我将在此处进行更新。

所以答案是:

否,还不可能。

但是在接下来的几周或几个月内有可能。至于如何实施,则需要等待官方文档或浏览问题中链接的PR。