Gatsby: Erreur GraphQL Argument inconnu "slug"

CrĂ©Ă© le 10 sept. 2017  Â·  3Commentaires  Â·  Source: gatsbyjs/gatsby

Salut tout le monde. Essayer de connecter du contenu à un blog à l'aide du démarreur avancé. J'ai retiré les plugins du systÚme de fichiers du mix et j'essaie juste d'obtenir un exemple de message. Cependant, j'obtiens actuellement une erreur GraphQL Error Unknown argument slug au démarrage du serveur de développement.

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)
  })
}

J'ai un contexte dĂ©fini pour inclure "slug" qui, si je comprends bien, est l'endroit oĂč il devient disponible pour la requĂȘte graphQL du composant post rĂ©el... mais cela gĂ©nĂšre l'erreur.
Voici une partie de la sortie de ma console oĂč cela se produit

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
...

Je suis assez nouveau sur GraphQL, donc je pourrais manquer quelque chose d'évident ici. Quelque chose qui sort de l'ordinaire d'aprÚs ce que vous pouvez voir ici ? Merci d'avoir cherché !

Commentaire le plus utile

Oh, oui, cette requĂȘte n'aurait pas fonctionnĂ©. Assurez-vous d'essayer vos requĂȘtes dans Graph i QL avant de les ajouter Ă  vos composants.

"all" est pour interroger tous les nƓuds d'un type. Sans tout, c'est pour interroger un seul Ă©lĂ©ment.

Tous les 3 commentaires

Il est possible qu'un nƓud n'ait pas de slug ?

Le dimanche 10 septembre 2017, 7 h 17, Josh Weaver [email protected] a Ă©crit :

Salut tout le monde. Essayer de connecter du contenu à un blog à l'aide des fonctionnalités avancées
entrée. J'ai retiré les plugins du systÚme de fichiers du mix et j'essaie
pour obtenir juste un exemple de poste tiré. Cependant, je reçois actuellement un
error Erreur GraphQL Slug d'argument inconnu au démarrage du serveur de développement.

exports.createPages = ({ graphql, boundActionCreators }) => {
const { createPage } = boundActionCreators
return new Promise((résoudre, rejeter) => {
graphql(
{ allContentfulBlogPost(limit: 1000) { edges { node { id slug } } } }
)
.then(résultat => {
si (résultat.erreurs) {
rejeter (résultat.erreurs)
}
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)

})
}

J'ai un contexte défini pour inclure "slug" qui, si je comprends bien, est
oĂč il devient disponible pour la requĂȘte graphQL de post-composante rĂ©elle ...
mais il jette l'erreur.
Voici une partie de la sortie de ma console oĂč cela se produit

Récupérer les données de contenu : 404,350 ms
nƓuds source et de transformation de succùs — 0,552 s
schĂ©ma de construction de succĂšs — 0,548 s
succùs createLayouts — 0,055 s
/xxxxxxx/src/templates/post.jsx
{ id : 'c7juaTIcg6cW2wAGKCQuios', slug : 'test-post' }
succùs createPages — 0,061 s
success createPagesStatefully — 0,023 s
Erreur GraphQL Argument inconnu slug

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

1 |
2 | requĂȘte BlogPostBySlug($slug : chaĂźne !) {

3 | allContentfulBlogPost(slug : { eq : $slug }) {
| ^
4 | Titre
5 | limace
...

Je suis assez nouveau sur GraphQL, donc je pourrais manquer quelque chose d'Ă©vident ici.

-
Vous recevez ceci parce que vous ĂȘtes abonnĂ© Ă  ce fil.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/gatsbyjs/gatsby/issues/2069 , ou désactiver le fil
https://github.com/notifications/unsubscribe-auth/AAEVh7fahni3VfI4tz_PphtJPctw2jV5ks5sg2LWgaJpZM4PSM2E
.

Eh bien, je n'avais qu'un seul nƓud/post dans Contentful.

Hmm.. J'ai fini par changer la requĂȘte alors qu'elle s'exĂ©cutait de allContentfulBlogPost Ă  contentfulBlogPost et cela fonctionne maintenant... Mais, Ă©tant si nouveau dans GraphQL, je ne suis pas sĂ»r de comprendre le diffĂ©rence.

Oh, oui, cette requĂȘte n'aurait pas fonctionnĂ©. Assurez-vous d'essayer vos requĂȘtes dans Graph i QL avant de les ajouter Ă  vos composants.

"all" est pour interroger tous les nƓuds d'un type. Sans tout, c'est pour interroger un seul Ă©lĂ©ment.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

signalwerk picture signalwerk  Â·  3Commentaires

ferMartz picture ferMartz  Â·  3Commentaires

dustinhorton picture dustinhorton  Â·  3Commentaires

kalinchernev picture kalinchernev  Â·  3Commentaires

jaanhio picture jaanhio  Â·  3Commentaires