我正在尝试使用 2019 年的教程创建一个博客,该教程使用contentful-plugin
但我看到 gastby 已经更新了他们的文档,所以我不能做我在视频中看到的,我的问题是,我不太了解下面的文档。
当我开始使用http://localhost:8000/___graphql
之前查询时
query {
allContentfulBlogPost (
filter: {node_locale: {eq: "en-US"}}
sort: {
fields: publishedDate,
order: DESC
}
) {
edges {
node {
title node_locale
slug
publishedDate(formatString: "MMMM Do, YYYY")
body {
json
}
}
}
}
}
现在我在 Contentful 文档上看到了
Note: Be aware that previous versions of the Gatsby Contentful source plugin used a json field. This got replaced with raw to give you more flexibility in rendering and to fix performance issues.
query {
allContentfulBlogPost {
edges {
node {
bodyRichText {
raw
references {
... on ContentfulAsset {
contentful_id
fixed(width: 1600) {
width
height
src
srcSet
}
}
... on ContentfulBlogPost {
contentful_id
title
slug
}
}
}
}
}
}
}
在 graphql 上我没有这个bodyRichText
,我只有body { raw }
但使用这个,比如:
export const query = graphql`
query($slug: String!) {
contentfulBlogPost(slug: {eq: $slug}) {
title
publishedDate(formatString: "MMMM Do, YYYY")
body {
raw
}
}
}
`
const Blog = (props) => {
return (
<Layout>
<h1>{props.data.contentfulBlogPost.title}</h1>
<p>{props.data.contentfulBlogPost.publishedDate}</p>
{documentToReactComponents(props.data.contentfulBlogPost.body.raw)}
</Layout>
)
}
export default Blog
不工作所以我错过了一些东西,但我找不到它是什么。