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é !
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 produitRĂ©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 inconnuslug
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.
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.