Graphql 使用gatsby和contentful的CreatePage API存在问题

Graphql 使用gatsby和contentful的CreatePage API存在问题,graphql,gatsby,contentful,Graphql,Gatsby,Contentful,我试图使用contentful中的数据生成单个团队成员的页面。使用内容数据创建页面是次要的,我主要关心的是gatsby-node.js文件无法使用/${node.slug}创建页面 这是gatsby-node.js文件 exports.createPages = async ({ graphql, actions, reporter }) => { const result = await graphql(` { allContentfulIndividualTe

我试图使用contentful中的数据生成单个团队成员的页面。使用内容数据创建页面是次要的,我主要关心的是gatsby-node.js文件无法使用/${node.slug}创建页面

这是gatsby-node.js文件

exports.createPages = async ({ graphql, actions, reporter }) => {
  const result = await graphql(`
     {
      allContentfulIndividualTeamMember {
        nodes {
          slug
        }
      }
    }
  `);
  if (result.error) {
    reporter.panic("error loading data", JSON.stringify(result.errors))
  }
  result.data.allContentfulIndividualTeamMember.nodes.forEach(node => {
    actions.createPage({
      path: `/${node.slug}`,
      component: require.resolve("./src/Templates/individualTeamPage.js"),
      context: {
        slug: node.slug,
      },
    })
  })
}
这是我的个人团队成员模板文件

import React from "react"
import { graphql } from "gatsby"
const IndividualTeamPage = ({ data }) => {
  console.log("checking ")
  return (
    <div>
      <h1>Checking</h1>
      <p>{data.edges.node.nameOfTheEmployee} </p>
    </div>
  )
}

export default IndividualTeamPage
export const query = graphql(`
  query($slug: String!) {
    allContentfulIndividualTeamMember(filter: { slug: { eq: $slug } }) {
      edges {
        node {
          positionInTheCompany
          nameOfTheEmployee
        }
      }
    }
  }
`)

从“React”导入React
从“盖茨比”导入{graphql}
const IndividualTeamPage=({data})=>{
控制台日志(“检查”)
返回(
检查
{data.edges.node.nameofEmployee}

) } 导出默认的IndividualTeamPage export const query=graphql(` 查询($slug:String!){ allContentfulIndividualTeamMember(筛选器:{slug:{eq:$slug}}){ 边缘{ 节点{ 公司职位 雇员姓名 } } } } `)
更新:
我认为问题是由于我将盖茨比中的pages文件夹更改为pages引起的,我更改为back to pages并删除和安装了node_模块。我仍然无法以编程方式创建页面,如果这有助于[成功运行页面查询-0.035s-3/3],每当我运行gatsby develop时,我都会在终端中得到这一信息

您确定要使用该查询从Contentful检索值吗?我的猜测是:

  const result = graphql(`
    query {
      allContentfulIndividualTeamMember { 
       edges {
          node {
            slug
          }
        }
      } 
    }   
`)
注意
对象和
节点
(而不是节点s


因此,您的循环对象将是:
result.data.allContentfulIndividualTeamMember.edges.node.forEach()

您确定要使用该查询从Contentful检索值吗?我的猜测是:

  const result = graphql(`
    query {
      allContentfulIndividualTeamMember { 
       edges {
          node {
            slug
          }
        }
      } 
    }   
`)
注意
对象和
节点
(而不是节点s


因此,循环对象应该是:
result.data.allContentfulIndividualTeamMember.edges.node.forEach()
看起来像是graphql``而不是graphql(`
看起来像是graphql``而不是graphql(`

我不认为这是问题所在,我确信我的代码正在检索值,我现在注意到的是,最初我将盖茨比中的pages文件夹重命名为pages。文件系统无法找到pages one,我现在已将其更改为pages,它弄乱了本地节点模块,我将其删除并再次执行npm I,没有运气。我我将不得不在一个新的网站上重做这个项目的一部分,这个网站没有提供问题中的信息。你想编辑它并重新提问吗?当然,这就是问题所在。盖茨比的文件系统以一种特定的命名和路径方式工作。更改它需要在项目中进行大量的更改以保持最初的解决方法。我不认为我会这样做问题是,我确定我的代码正在检索值,我现在注意到的是,最初我将盖茨比中的pages文件夹重命名为pages。文件系统无法找到pages one,我现在已将其更改为pages one,它弄乱了本地节点模块,我将其删除,然后再次执行npm I,没有运气。我想我必须重做此页面问题中没有提供信息的新网络中项目的rt。是否要编辑它并重新请求?当然,这就是问题所在。盖茨比的文件系统以特定的命名和路径方式工作。更改它需要在项目中进行大量更改以保持初始解决方法。是的,它应该是graphql
QUERY
。请签出有关更多信息,请查看盖茨比文档。是的,它应该是graphql
QUERY
。有关更多信息,请查看盖茨比文档。请确保字段段塞返回某些信息。是否可以向我们显示终端输出错误或graphql游乐场错误?确保字段段塞返回某些信息。是否可以向我们显示终端输出错误或错误图形错误?