【发布时间】:2021-04-10 01:10:27
【问题描述】:
目标
嗨。我有一个 Gatsby 网站,我正在使用 gatsby-transformer-remark 插件将博客降价文件从博客目录加载到 GraphQL 中以显示在我的网站上。我查看了文档和示例代码,了解如何为每个页面创建一个 slug,以便在 gatsby-node.js 文件中我可以动态创建带有 slug 的页面。
问题
当我尝试访问 GraphiQL 中的 fields { slug } 属性时,我收到以下错误:
message": "Cannot query field \"fields\" on type \"MarkdownRemark\"." 我已经检查了几次我的设置,我认为这一切似乎都很好,所以我不能 100% 确定我错过了什么没有这些字段。我可以访问其他信息,例如降价文件的原始内容和前端数据,但不能访问字段。
代码
在我的 gatsby-config.js 插件中,我对源文件系统和备注插件进行了以下设置
{
resolve: `gatsby-source-filesystem`,
options: {
name: `blog`,
path: `${__dirname}/blog`,
},
},
{
resolve: `gatsby-transformer-remark`,
options: {
plugins: [
{
resolve: `gatsby-remark-images`,
options: {
maxWidth: 960,
},
},
`gatsby-remark-prismjs`,
`gatsby-remark-copy-linked-files`,
],
},
},
进入 GraphiQL 后,我会运行以下查询来复制错误
query {
allMarkdownRemark(
sort: { fields: [frontmatter___date], order: DESC }
limit: 1000
) {
edges {
node {
fields {
slug
}
frontmatter {
title
}
}
}
}
}
【问题讨论】: