Gatsby动态内容和模式拼接

时间:2019-06-14 21:50:44

标签: javascript reactjs gatsby

我在构建时从我的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的巨大优势)

0 个答案:

没有答案