Гэтсби разрабатывает и Гэтсби Инфо оба возвращают ошибки - PullRequest
0 голосов
/ 22 декабря 2018

Я не совсем знаю, что случилось с моей сборкой, в настоящее время gatsby develop возвращает TypeError: Cannot read property 'allMarkdownRemark' of undefined, указывая на этот файл

gatsby-node.js:19 graphql.then.results
C:/Users/Anders/sites/gatsby-netlify-cms/gatsby-node.js:19:20

и gatsby info возвращается после того, как возвращает информацию о проектеerror The system cannot find the path specified.

Вот файл gatsby-node.js

const path = require('path')

exports.createPages = ({ graphql, actions }) => {
  const { createPage } = actions
  return new Promise((resolve, reject) => {
    graphql(`
      {
        allMarkdownRemark {
          edges {
            node {
              frontmatter {
                slug
              }
            }
          }
        }
      }
    `).then(results => {
      results.data.allMarkdownRemark.edges.forEach(({ node }) => {
        createPage({
          path: `/posts${node.frontmatter.slug}`,
          component: path.resolve('./src/components/postLayout.js'),
          context: {
            slug: node.frontmatter.slug,
          },
        })
      })
      resolve()
    })
  })
}

Я не совсем понимаю, что происходит, я откатился на изменения, которые отлично работали минуту назад, итеперь получаю эту странную ошибку.Я попытался обновить узел, я попытался переустановить Gatsby Cli.Я застрял.Заранее спасибо.

Также включая мой package.json на случай несовместимости

{
  "name": "gatsby-starter-default",
  "description": "Gatsby default starter",
  "version": "1.0.0",
  "author": "Kyle Mathews <mathews.kyle@gmail.com>",
  "dependencies": {
    "babel-plugin-styled-components": "^1.9.2",
    "gatsby": "^2.0.53",
    "gatsby-image": "^2.0.22",
    "gatsby-plugin-manifest": "^2.0.9",
    "gatsby-plugin-netlify": "^2.0.6",
    "gatsby-plugin-netlify-cms": "^3.0.9",
    "gatsby-plugin-offline": "^2.0.16",
    "gatsby-plugin-react-helmet": "^3.0.2",
    "gatsby-plugin-sharp": "^2.0.15",
    "gatsby-plugin-sitemap": "^2.0.3",
    "gatsby-plugin-styled-components": "^3.0.4",
    "gatsby-source-filesystem": "^2.0.10",
    "gatsby-transformer-remark": "^2.1.15",
    "gatsby-transformer-sharp": "^2.1.9",
    "netlify-cms": "^2.3.0",
    "react": "^16.6.3",
    "react-dom": "^16.6.3",
    "react-helmet": "^5.2.0",
    "react-spring": "^6.1.10",
    "styled-components": "^4.1.2"
  },
  "keywords": [
    "gatsby"
  ],
  "license": "MIT",
  "scripts": {
    "build": "gatsby build",
    "develop": "gatsby develop",
    "start": "npm run develop",
    "format": "prettier --write \"src/**/*.js\"",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "devDependencies": {
    "prettier": "^1.15.2"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/gatsbyjs/gatsby-starter-default"
  }
}

Gatsby -v возвращает 2.4.7, и я запускаю узел v10.14.2

Вот мой файл конфигурации gatsby

module.exports = {
  siteMetadata: {
    title: 'Project Name',
    content: 'your name is weird',
    siteUrl: 'https://zealous-wright-0d00e0.netlify.com',
  },
  plugins: [
    'gatsby-plugin-react-helmet',
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images`,
      },
    },
    'gatsby-plugin-sitemap',
    'gatsby-transformer-sharp',
    'gatsby-plugin-styled-components',
    'gatsby-plugin-sharp',
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: 'project-name',
        short_name: 'project-name',
        start_url: '/',
        background_color: '#663399',
        theme_color: '#663399',
        display: 'minimal-ui',
        icon: 'src/images/logo.png', // This path is relative to the root of the site.
      },
    },
    // this (optional) plugin enables Progressive Web App + Offline functionality
    // To learn more, visit: https://gatsby.app/offline
    'gatsby-plugin-offline',
    {
      resolve: 'gatsby-source-filesystem',
      options: {
        path: `${__dirname}/src/team`,
        name: 'team',
      },
    },
    {
      resolve: 'gatsby-source-filesystem',
      options: {
        path: `${__dirname}/src/images`,
        name: 'images',
      },
    },
    'gatsby-transformer-remark',
    'gatsby-plugin-netlify-cms',
  ],
}

, и у меня есть файл в gatsby-source-filesystem в src/team/riels-first-post.md

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

У меня была очень глупая ошибка, внутри моего файла уценки не было атрибута slug, на который ссылался мой код.Вот как это должно было выглядеть

---
title: Riel's First post
bio: I am a monkey with a dog
slug: "test"
---
Testing
0 голосов
/ 26 декабря 2018

Вы не опубликовали свой файл gatsby-config, но, судя по ошибке, я бы сказал, что вашему файлу узла не удалось найти файлы уценки, что привело к неопределенному значению results.data.

В вашем конфигурационном файле gatsby должна быть директива, подобная этой:

{
    resolve: `gatsby-source-filesystem`,
    options: {
        name: `posts`,
        path: `${__dirname}/static/content/collections/posts`,
    },
}

Приведенный выше код указывает gatsby искать файлы уценки по указанному пути, поэтому убедитесь, что у вас есть этодиректива внутри вашей конфигурации и что путь содержит хотя бы один допустимый файл уценки.

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