【问题标题】:GatsbyJs gaphql query folder/post.md in graphiql interfaceGatsbyJs graphql 界面中的 graphql 查询文件夹/post.md
【发布时间】:2018-12-10 14:14:27
【问题描述】:

我正在使用 Gatsby 开发 graphiql 沙箱来测试一些查询,我有一个工作查询正在使用 gatsby-transformer-remark 插件提取降价文件。我的降价文件位于src/posts/post-1.md 这些在我下面的查询中返回,但是我开始使用 Netlifys cms 创建降价文件,我设置降价文件的方式位于src/team/post-1.md 现在这个降价文件是没有在查询中返回,所以它让我认为默认的allMarkdownRemark 查询要求降价文件位于src/posts 文件夹中有没有办法覆盖它并指向src/team 文件夹好的,这几乎涵盖了它这是我的查询。

query BlogPostArchive1 {
    allMarkdownRemark(
      limit: 10
      sort: { order: DESC, fields: [frontmatter___date] }
    ) {
      edges {
        node {
          excerpt
          frontmatter {
            title
            slug
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    }
  }

【问题讨论】:

    标签: node.js reactjs gatsby


    【解决方案1】:

    gatsby-transformer-remark 是一个transformer plugin,这意味着它唯一的工作就是解析和转换markdown。

    在它执行此操作之前,您需要告诉它在哪里可以找到降价文件。这就是源插件的用武之地。

    在您的情况下,您是从文件系统(而不是外部来源)中获取降价的。你要找的插件是gatsby-source-filesystem

    由于你以前可以查询markdown,所以你必须已经安装了gatsby-source-filesystem

    我认为问题在于插件的配置:目前它没有查看您的 src/team/ 目录。

    检查您的gatsby-config.js 是否有如下代码:

    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `posts`,
        path: `${__dirname}/src/posts/`,
      },
    },
    

    尝试将path 行更改为:

        path: `${__dirname}/src/team/`,
    

    然后确保重建您的网站。

    有效果吗?

    【讨论】:

    • 我确定这是有道理的,但现在我收到此错误TypeError: Cannot read property 'allMarkdownRemark' of undefined 我似乎无法弄清楚原因。
    • 当我在我的配置文件中将它改回/posts 时,它又开始工作了。嗯
    • 你的意思是运行 gatsby build,还是 gatsby development 正常?
    • 您可能需要查看我所有包含 allMarkDownRmark 的查询,我应该尝试评论所有使用它的部分,以便我可以打开 graphiql 编辑器并测试一些新查询
    • 您可能在某处有另一个设置指向/posts
    猜你喜欢
    • 2020-09-07
    • 2019-07-25
    • 2020-06-10
    • 2018-07-12
    • 2019-01-25
    • 2020-11-13
    • 2020-10-13
    • 2019-01-12
    • 2020-12-04
    相关资源
    最近更新 更多