Gatsby: GraphQLエラー不明な引数 `slug`

作成日 2017年09月10日  ·  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)
  })
}

「スラッグ」を含めるようにコンテキストを設定しました。これは、正しく理解していれば、実際のポストコンポーネントgraphQLクエリで使用できるようになる場所です...しかし、エラーがスローされます。
これが発生するコンソール出力の一部です

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にかなり慣れていないので、ここで明らかな何かを見逃している可能性があります。 あなたがここで見ることができるものから何か異常なことはありますか? 見てくれてありがとう!

最も参考になるコメント

そうそう、そのクエリは機能しなかったでしょう。 あなたのコンポーネントに追加する前に、グラフI QLでクエリを試してみることを確認してください。

「all」は、タイプのすべてのノードを照会するためのものです。 すべてがなければ、単一のアイテムをクエリするためのものです。

全てのコメント3件

ノードにスラッグがない可能性はありますか?

日、2017年9月10日には、午前7時17分AMジョシュウィーバー[email protected]書きました:

こんにちは、みなさん。 高度な機能を使用して、コンテンツをブログに接続しようとしています
スターター。 ミックスからファイルシステムプラグインを取り出して試しています
サンプルポストを引っ張るだけです。 しかし、私は現在取得しています
エラーGraphQLエラー開発サーバーの起動時に不明な引数スラッグ。

exports.createPages =({graphql、boundActionCreators})=> {
const {createPage} = boundActionCreators
新しいPromise((resolve、reject)=> {を返す
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)

})
}

私は「スラッグ」を含むようにコンテキストを設定しています。これは、正しく理解していれば、
実際のポストコンポーネントgraphQLクエリで利用できるようになる場所...
しかし、それはエラーを投げています。
これが発生するコンソール出力の一部です

コンテンツフルデータのフェッチ:404.350ms
成功ソースおよび変換ノード—0.552秒
スキーマ構築の成功—0.548秒
成功createLayouts—0.055秒
⠁/ xxxxxxx / src / templates / post.jsx
{id: 'c7juaTIcg6cW2wAGKCQuios'、スラッグ: 'テスト投稿'}
成功createPages—0.061秒
成功createPagesStatefully—0.023秒
GraphQLエラー不明な引数slug

ファイル:/Users/joshuaweaver/Documents/JoyfulNoise/joyfulnoiseliving/src/templates/post.jsx

1 |
2 | クエリ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にはノード/投稿が1つしかありませんでした。

うーん..クエリの実行中にクエリをallContentfulBlogPostからcontentfulBlogPostしてしまい、現在は機能しています...しかし、GraphQLが初めてなので、理解できません。違い。

そうそう、そのクエリは機能しなかったでしょう。 あなたのコンポーネントに追加する前に、グラフI QLでクエリを試してみることを確認してください。

「all」は、タイプのすべてのノードを照会するためのものです。 すべてがなければ、単一のアイテムをクエリするためのものです。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

theduke picture theduke  ·  3コメント

KyleAMathews picture KyleAMathews  ·  3コメント

kalinchernev picture kalinchernev  ·  3コメント

signalwerk picture signalwerk  ·  3コメント

ferMartz picture ferMartz  ·  3コメント