こんにちは、みなさん。 高度なスターターを使用して、ブログに満足のいくものを接続しようとしています。 ミックスからファイルシステムプラグインを取り出し、サンプル投稿をプルオーバーしようとしています。 ただし、現在、開発サーバーの起動時にエラー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にかなり慣れていないので、ここで明らかな何かを見逃している可能性があります。 あなたがここで見ることができるものから何か異常なことはありますか? 見てくれてありがとう!
ノードにスラッグがない可能性はありますか?
日、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」は、タイプのすべてのノードを照会するためのものです。 すべてがなければ、単一のアイテムをクエリするためのものです。
最も参考になるコメント
そうそう、そのクエリは機能しなかったでしょう。 あなたのコンポーネントに追加する前に、グラフI QLでクエリを試してみることを確認してください。
「all」は、タイプのすべてのノードを照会するためのものです。 すべてがなければ、単一のアイテムをクエリするためのものです。