Gatsby Develop: не может разрушить свойство `frontmatter` из неопределенного - PullRequest
0 голосов
/ 29 марта 2020

Я новичок в Gatsby и GraphQL. Я пытался создать блог-подобный сайт. Я использую шаблон для страницы поста в блоге, который приводит к использованию gatsby- node.js, и я думаю, что это вызывает проблему. Он отлично работает в режиме разработки, но, как я пытаюсь его собрать, он выдает ошибку. У меня последняя версия всего.

Команда: Сборка Гэтсби

Ошибка: enter image description here

Также , вот мои файлы, прикрепленные.

gatsby- node.js

exports.createPages = async ({ actions, graphql, reporter, ...props }) => {
  console.log(actions, graphql, reporter, props)
  const { createPage } = actions
  const blogPostTemplate = path.resolve(`src/pages/lead-generation.js`)
  const result = await graphql(`
    {
      allMarkdownRemark(limit: 1000) {
        edges {
          node {
            frontmatter {
              path
            }
          }
        }
      }
    }
  `)
  // Handle errors
  if (result.errors) {
    reporter.panicOnBuild(`Error while running GraphQL query.`)
    return
  }
  result.data.allMarkdownRemark.edges.forEach(({ node }) => {
    createPage({
      path: node.frontmatter.path,
      component: blogPostTemplate,
      context: {}, // additional data can be passed via context
    })
  })
} 

ведущее поколение. js

export default class Template extends React.Component {

  render() {
    const { markdownRemark: { frontmatter = {}, html } = {} } =
      this.props.data;

    return (
      <div className="p-3">
        <div>
          <h1>{frontmatter.title}</h1>
          <h6 className="pb-5">{frontmatter.articleHeading}</h6>
          <div
            className="blog-post-content"
            dangerouslySetInnerHTML={{ __html: html }}
          />
        </div>
        <div
          id="container"
          className="p-5"
          style={{ height: 500, width: 400 }}
        >
          {/* widget*/}
        </div>
      </div>
    )
  }
}

export const pageQuery = graphql`
  query($path: String!) {
    markdownRemark(frontmatter: { path: { eq: $path } }) {
      html
      frontmatter {
        title
        articleHeading
        categoryID
      }
    }
  }
`

markdown-file.md

---
path: "/works/remaining-URL"
title: "some title?"
articleHeading: "This is some heading"
categoryID: 10056
---

This is the further text

Я упростил вопрос. Пожалуйста, дайте мне знать, если вам нужна дополнительная разработка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...