我在构建时从我的gatsby-node.js文件中执行以下graphql查询,该文件用于引入文章数据。有没有一种方法可以使用Apollo / Axios检索新文章,而不必重建站点,而本质上是在两次构建之间使我的站点补水?任何帮助都将不胜感激!
我正在使用Gatsby v2,Drupal作为CMS和GraphQL。
exports.createPages = ({ graphql, actions }) => {
const { createPage } = actions;
const blogTemplate = path.resolve('src/templates/blog-post.js');
return graphql(`
{
blog: allNodeArticle{
edges {
node {
id
path {
alias
}
}
}
}
`
).then(result => {
if (result.errors) {
Promise.reject(result.errors);
}
// Create blog pages
result.data.blog.edges.forEach(({ node }) => {
createPage({
path: node.path.alias,
component: blogTemplate,
context: {
alias: node.path.alias,
},
});
});
});
}
我希望在新数据可用时进行合并,同时保持旧数据完全静态(Gatsby的巨大优势)