GatsbyJS Программное создание страниц

Я пытаюсь создавать страницы программно, используя GatsbyJS createPages API. В настоящее время я пытаюсь запросить данные из WordPress, используяgatsby-source-graphql & WPgraphQLчто мне удалось успешно сделать по GraphiQL. Я последовал примеру GatsbyJS createPages API, но я продолжаю сталкиваться с этой ошибкой всякий раз, когда моя программа переходит к функции ".forEach".

TypeError: Cannot read property 'pages' of undefined

Моя функция CreatePage, найденная в gatsby-node.js:

const path = require(`path`)

exports.createPages = ({ graphql, actions }) => {
    const { createPage } = actions
    const pageTemplate = path.resolve(`src/templates/page-template.js`)
    // Query for markdown nodes to use in creating pages.
    // You can query for whatever data you want to create pages for e.g.
    // products, portfolio items, landing pages, etc.
    // Variables can be added as the second function parameter
    return graphql(`
    query MyQuery {
        wpgraphql {
          pages {
            edges {
              node {
                slug
              }
            }
          }
        }
      }
  `, { limit: 1000 }).then(result => {
        if (result.errors) {
            throw result.errors
        }

        // Create pages.
        result.wpgraphql.pages.edges.forEach(edge => {
            createPage({
                // Path for this page — required
                path: `${wpgraphql.edges.node.slug}`,
                component: pageTemplate,
                context: {
                    // Add optional context data to be inserted
                    // as props into the page component..
                    //
                    // The context data can also be used as
                    // arguments to the page GraphQL query.
                    //
                    // The page "path" is always available as a GraphQL
                    // argument.
                },
            })
        })
    })
}

0 ответов

Другие вопросы по тегам