查询返回错误 "Cannot read properties of undefined (reading 'nodes')"
Query returning error "Cannot read properties of undefined (reading 'nodes')"
我正在尝试对 GatsbyJS 项目中的 return 一行文本和一张图像编写一个页面查询。我将 Gatsby Image 插件与 'gatsby-transformer-sharp' 和 'gatsby-plugin-sharp' 一起使用,但我不断收到一个错误消息,即从查询中编辑的节点 return 未定义。
我的查询如下所示:
query ProjectsPage {
allMarkdownRemark {
nodes {
frontmatter {
featuredImg {
childImageSharp {
fluid{
...GatsbyImageSharpFluid
}
}
}
title
}
}
}
}
给我错误的代码行:
const projects = data.projects.nodes
我的 gatsby-config.js 文件如下所示:
module.exports = {
/* Your site config here */
plugins: [
'gatsby-transformer-remark',
'gatsby-transformer-sharp',
'gatsby-plugin-sharp',
{
resolve: `gatsby-source-filesystem`,
options: {
name: `projects`,
path: `${__dirname}/src/projects/`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/images/`,
},
},
],
siteMetadata: {
title: 'example',
description: 'web dev portfolio',
copyright: 'example text'
},
}
如果能提供任何帮助,我将不胜感激!
从查询中获取节点的正确方法是:
const projects = data.allMarkdownRemark.nodes
如果您想按目录过滤结果并仅从项目中获取节点,您可以遵循答案之一 并使用类似以下内容:
query ProjectsPage {
allMarkdownRemark(filter: {fileAbsolutePath: {regex: "/(/projects/)/"}}) {
nodes {
frontmatter {
featuredImg {
childImageSharp {
fluid {
...GatsbyImageSharpFluid
}
}
}
title
}
}
}
}
我正在尝试对 GatsbyJS 项目中的 return 一行文本和一张图像编写一个页面查询。我将 Gatsby Image 插件与 'gatsby-transformer-sharp' 和 'gatsby-plugin-sharp' 一起使用,但我不断收到一个错误消息,即从查询中编辑的节点 return 未定义。
我的查询如下所示:
query ProjectsPage {
allMarkdownRemark {
nodes {
frontmatter {
featuredImg {
childImageSharp {
fluid{
...GatsbyImageSharpFluid
}
}
}
title
}
}
}
}
给我错误的代码行:
const projects = data.projects.nodes
我的 gatsby-config.js 文件如下所示:
module.exports = {
/* Your site config here */
plugins: [
'gatsby-transformer-remark',
'gatsby-transformer-sharp',
'gatsby-plugin-sharp',
{
resolve: `gatsby-source-filesystem`,
options: {
name: `projects`,
path: `${__dirname}/src/projects/`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/images/`,
},
},
],
siteMetadata: {
title: 'example',
description: 'web dev portfolio',
copyright: 'example text'
},
}
如果能提供任何帮助,我将不胜感激!
从查询中获取节点的正确方法是:
const projects = data.allMarkdownRemark.nodes
如果您想按目录过滤结果并仅从项目中获取节点,您可以遵循答案之一
query ProjectsPage {
allMarkdownRemark(filter: {fileAbsolutePath: {regex: "/(/projects/)/"}}) {
nodes {
frontmatter {
featuredImg {
childImageSharp {
fluid {
...GatsbyImageSharpFluid
}
}
}
title
}
}
}
}