【发布时间】:2020-12-21 04:01:35
【问题描述】:
我只能在 stackoverflow 上找到关于这个问题的另一篇文章。任何帮助都会很棒!我一直在按照教程here 尝试将 Gatsby 与 GraphQL 一起使用。但我不断收到错误:
错误 #11322
您网站的“gatsby-node.js”创建了一个页面,但没有传递路径 到组件。
传递给createPage的页面对象:{ "路径": "/blog/technical-seo-with-graphcms", "组件": "/Users/ela/Yao/Dev/paper-plane-project/src/templates/BlogPosts.js", “语境”: { “邮政”: { “id”:“ckadrcx4g00pw01525c5d2e56”, "title": "GraphCMS 技术 SEO", "slug": "technical-seo-with-graphcms", “标签”:[ “搜索引擎优化” ], “作者”: { “id”:“ckadqepn400gv0108p4debydk”, “名称”:“杰西·马丁” } } } }
这是我的 gatsby-node.js:
const path = require(`path`);
exports.createPages = async({graphql, actions: {createPage}}) => {
const {data: {gcms : { posts }}} = await graphql(`
query {
gcms {
posts (stage: PUBLISHED) {
id
title
slug
tags
author {
id
name
}
}
}
}
`);
// const posts = pageQuery.data.gcms.posts
const blogTemplates = {
Article: path.resolve('./src/templates/BlogPosts.js'),
}
posts.forEach(post => createPage({
path: `/blog/${post.slug}`,
componenent: blogTemplates.Article,
context : {
post : post,
}
})
);
}
这是我的 BlogPosts.js 模板文件:
import React from 'react';
import { graphql } from 'gatsby';
const BlogPosts = (props) => {
const { post } = props.post;
return (
<React.Fragment>
<h1>{post.title}</h1>
</React.Fragment>
)};
export default BlogPosts;
任何帮助都会很棒。我真的在网上找不到任何关于这个错误的东西。
【问题讨论】:
-
您在
createPage中将component拼写错误为componenent -
谢谢!那是个愚蠢的错误!