如何在Gatsby中反转页面顺序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Gatsby中反转页面顺序?相关的知识,希望对你有一定的参考价值。

我需要更改博客文章的页面顺序,以便使新文章排在顶部,而不是底部。

现在,较早的帖子位于页面顶部。

这是我的gatsby-node.js。如何取消订单?

const path = require('path');

// registering our posts

exports.createPages = ( boundActionCreators, graphql ) => 
  const  createPage  = boundActionCreators;

  const postTemplate = path.resolve('src/templates/blog-post.js');

  return graphql(`
    
      allMarkdownRemark 
        edges 
          node 
            html
            id
            frontmatter 
              path
              title
              date
              author
            
          
        
      
    
  `).then(res => 
    if (res.errors) 
      return Promise.reject(res.errors);
    
    res.data.allMarkdownRemark.edges.forEach(( node ) => 
      createPage(
        path: node.frontmatter.path,
        component: postTemplate,
      );
    );
  );
;
答案

您的GraphQL结果将传递到您的createPage()函数,在该函数中按照结果集给定的顺序创建页面。您可以在查询中订购GraphQL结果集:

    
      allMarkdownRemark( sort:  fields: [frontmatter___date]
                                 order: DESC  // order by date descending 
      ) 
        edges 
          node 
            html
            id
            frontmatter 
              path
              title
              date
              author
            
          
        
      
    
  `

请参阅Gatsby GraphQL documentation了解更多选项。

以上是关于如何在Gatsby中反转页面顺序?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 JSON 文件在 Gatsby 中创建页面?

Gatsby / Drupal8 解耦:如何在从 Drupal 文件目录中提取的 Gatsby 页面上呈现图像?

如何在使用 root-wrapper 为 Gatsby 提供主题时使用页面查询

如何将特定上下文注入 Gatsby 中的所有页面?

如何从 Gatsby WordPress 网站的页面内容查询中排除作者和日期

如何在 Gatsby 中根据其他字段删除 GraphQL 字段?