Gatsby: Ошибка GraphQL Неизвестный аргумент `slug`

Созданный на 10 сент. 2017  ·  3Комментарии  ·  Источник: gatsbyjs/gatsby

Привет всем. Попытка подключиться к блогу с помощью расширенного стартера. Я вытащил плагины файловой системы из микса и пытаюсь просто перетащить образец сообщения. Однако в настоящее время я получаю сообщение об ошибке GraphQL Error Unknown argument slug при запуске сервера разработки.

exports.createPages = ({ graphql, boundActionCreators }) => {
  const { createPage } = boundActionCreators
  return new Promise((resolve, reject) => {
    graphql(
      `
      {
        allContentfulBlogPost(limit: 1000) {
          edges {
            node {
              id
              slug
            }
          }
        }
      }
    `
    )
      .then(result => {
        if (result.errors) {
          reject(result.errors)
        }
        const postPage = path.resolve("src/templates/post.jsx");
        _.each(result.data.allContentfulBlogPost.edges, edge => {
          console.log(edge.node);

          createPage({
            path: `/post/${edge.node.slug}`,
            component: postPage,
            context: {
              id: edge.node.id,
              slug: edge.node.slug
            },
          })
        })
      })
      .then(resolve)
  })
}

У меня установлен контекст, включающий "slug", который, если я правильно понимаю, именно там становится доступным для фактического запроса graphQL компонента post ... но это вызывает ошибку.
Вот некоторые из моих выводов на консоль, где это происходит

Fetch Contentful data: 404.350ms
success source and transform nodes — 0.552 s
success building schema — 0.548 s
success createLayouts — 0.055 s
⠁ /xxxxxxx/src/templates/post.jsx
{ id: 'c7juaTIcg6cW2wAGKCQuios', slug: 'test-post' }
success createPages — 0.061 s
success createPagesStatefully — 0.023 s
GraphQL Error Unknown argument `slug`

  file: /Users/joshuaweaver/Documents/JoyfulNoise/joyfulnoiseliving/src/templates/post.jsx

   1 |
   2 |   query BlogPostBySlug($slug: String!) {
>  3 |     allContentfulBlogPost(slug: { eq: $slug }) {
     |                           ^
   4 |       title
   5 |       slug
...

Я новичок в GraphQL, поэтому могу упустить что-то очевидное. Что-нибудь необычное из того, что вы здесь видите? Спасибо, что посмотрели!

Самый полезный комментарий

Да, да, этот запрос не сработал бы. Обязательно опробуйте свои запросы в Graph i QL, прежде чем добавлять их в свои компоненты.

«все» - для запроса всех узлов определенного типа. Без всего - для запроса одного элемента.

Все 3 Комментарий

Возможно, у узла нет пули?

Вс, 10 сентября 2017 г., 7:17 Джош Уивер [email protected] написал:

Привет всем. Попытка подключиться к блогу с помощью расширенного
стартер. Я вытащил плагины файловой системы из микса и пытаюсь
чтобы просто перетащить образец сообщения. Однако в настоящее время я получаю
error GraphQL Error Неизвестный аргумент slug при запуске сервера разработки.

export.createPages = ({graphql, boundActionCreators}) => {
const {createPage} = boundActionCreators
вернуть новое обещание ((разрешить, отклонить) => {
graphql (
{ allContentfulBlogPost(limit: 1000) { edges { node { id slug } } } }
)
.then (результат => {
if (result.errors) {
отклонить (result.errors)
}
const postPage = path.resolve ("src / templates / post.jsx");
_.each (result.data.allContentfulBlogPost.edges, edge => {
console.log (edge.node);

      createPage({
        path: `/post/${edge.node.slug}`,
        component: postPage,
        context: {
          id: edge.node.id,
          slug: edge.node.slug
        },
      })
    })
  })
  .then(resolve)

})
}

У меня есть контекст, в который включен "slug", который, если я правильно понимаю,
где он становится доступным для фактического запроса graphQL компонента post ...
но это вызывает ошибку.
Вот некоторые из моих выводов на консоль, где это происходит

Получение содержательных данных: 404,350 мс
узлы источника успеха и преобразования - 0,552 с
схема построения успеха - 0,548 с
успех createLayouts - 0,055 с
⠁ /xxxxxxx/src/templates/post.jsx
{id: 'c7juaTIcg6cW2wAGKCQuios', slug: 'test-post'}
успех createPages - 0,061 с
успех createPagesStatefully - 0,023 с
Ошибка GraphQL Неизвестный аргумент slug

файл: /Users/joshuaweaver/Documents/JoyfulNoise/joyfulnoiseliving/src/templates/post.jsx

1 |
2 | query BlogPostBySlug ($ slug: String!) {

3 | allContentfulBlogPost (slug: {eq: $ slug}) {
| ^
4 | заглавие
5 | слизняк
...

Я новичок в GraphQL, поэтому могу упустить что-то очевидное.

-
Вы получаете это, потому что подписаны на эту беседу.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/gatsbyjs/gatsby/issues/2069 или отключите поток
https://github.com/notifications/unsubscribe-auth/AAEVh7fahni3VfI4tz_PphtJPctw2jV5ks5sg2LWgaJpZM4PSM2E
.

Ну, у меня был только один узел / сообщение в Contentful.

Хм .. Я закончил тем, что изменил запрос во время его выполнения с allContentfulBlogPost на contentfulBlogPost и теперь он работает ... Но, будучи новичком в GraphQL, я не уверен, что понимаю разница.

Да, да, этот запрос не сработал бы. Обязательно опробуйте свои запросы в Graph i QL, прежде чем добавлять их в свои компоненты.

«все» - для запроса всех узлов определенного типа. Без всего - для запроса одного элемента.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

jimfilippou picture jimfilippou  ·  3Комментарии

rossPatton picture rossPatton  ·  3Комментарии

benstr picture benstr  ·  3Комментарии

theduke picture theduke  ·  3Комментарии

brandonmp picture brandonmp  ·  3Комментарии