我想知道是否有可能告诉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文件的好处。
答案 0 :(得分:1)
您描述的内容称为增量构建。
在github上有一个issue on the official Gatsby repo关于您的确切问题。您所需的功能似乎将在接下来的几个版本中提供:
dominicfallows 18天前评论了
只是想更新一下,我的团队即将将PR发布到我们认为可以实现增量构建的Gatsby存储库中。我们只是花一些时间来编写良好的PR并收紧代码,但是完成后(在下一周左右),我将在此处进行更新。
所以答案是:
但是在接下来的几周或几个月内有可能。至于如何实施,则需要等待官方文档或浏览问题中链接的PR。