Gatsby GraphQL无法查询字段“;url";“关于类型”;文件";斯特拉皮大学
我正在用盖茨比的前端和斯特拉皮的后端写博客。我使用StaticQuery在组件中进行了查询Gatsby GraphQL无法查询字段“;url";“关于类型”;文件";斯特拉皮大学,graphql,gatsby,strapi,Graphql,Gatsby,Strapi,我正在用盖茨比的前端和斯特拉皮的后端写博客。我使用StaticQuery在组件中进行了查询 query={graphql` query { allStrapiArticle { edges { node { strapiId title category { name
query={graphql`
query {
allStrapiArticle {
edges {
node {
strapiId
title
category {
name
}
image {
url
}
}
}
}
}
`}
没有
图像{url}
,所有字段都可以正常工作。我收到错误:错误无法查询类型“File”graphql/模板字符串上的字段“url”
。我怎样才能修好它?谢谢 尽管您在Strapi中创建了一个带有url
字段的图像对象,但Strapi+Gatsby会下载它,您必须对查询进行一些更改
此时,您的所有映像都属于gatsby源文件系统
,因此必须以不同的方式查询它们。当然,您可以获得url
,但您的数据结构可能与您在Strapi的后台办公室中创建的数据结构不同。换句话说,您要查找的字段位于另一个对象内,在本例中,publicURL
将包含您所需的url
值。以下是如何获取一个或多个图像的示例:
singleImage {
publicURL
}
multipleImages {
localFile {
publicURL
}
}
参考:
在localhost:8000/\uuuuuuuu graphql
playway下运行gatsby develope时,请查看自动完成功能。为了测试graphql查询,它可能会帮助您获得所需的字段
还指出了一些有趣的东西
如果要使用基于盖茨比图像的图像,可以使用:
image {
childImageSharp {
fluid(maxWidth: 960) {
...GatsbyImageSharpFluid
}
}
}
然后它应该在循环中使用,类似于(使用gatsby image
usage):
我也遇到过这个问题。关于建议使用“url”进行查询的教程,但它是错误的 正确的查询方法是:
allStrapiArticle {
edges {
node {
strapiId
title
category {
name
}
image {
publicURL
}
}
}
}
要显示图像,请不要忘记将url切换为publicURL,如下所示:
<img
src={article.node.image.publicURL}
alt={article.node.image.publicURL}
height="100"
/>
该字段是否存在?是的,当然,我添加了一个图像类型为single Image的字段,必填项。还可以创建一篇带有图像的文章您可能应该通过publicURL
而不是url
在image
对象中进行查询。
<img
src={article.node.image.publicURL}
alt={article.node.image.publicURL}
height="100"
/>