我一直在努力解决这个问题:
我的前额问题看起来像是:
---
path: '/path-to/'
title: 'Title of Post'
indexImage: './img.jpg'
---
我的图像和我的index.md
文件在同一个文件夹中。
在我的templates/post.js
文件中,我有以下行:
<img src={ post.frontmatter.indexImage }></img>
认为这会吸引前面列出的来源。我的post.js查询是:
export const postQuery = graphql`
query BlogPostByPath($path: String!) {
markdownRemark(frontmatter: { path: { eq: $path } }) {
html
frontmatter {
path
title
indexImage
}
}
}
`;
以下是错误消息:
GraphQL Error Field "indexImage" of type "File" must have a selection of subfields. Did you mean "indexImage { ... }"?
有什么想法来解释为什么这个不起作用吗?我对Gatsby还很陌生,所以这可能是一个我无法理解的问题。提前谢谢。
发布于 2017-10-13 05:28:53
通过删除.cache
文件夹使构建缓存无效。
发布于 2019-02-19 03:57:17
如果图像转换为文件类型,您希望使用publicUrl,而不是尝试直接使用图像:
frontmatter {
path
title
indexImage {
publicUrl
}
}
然后在代码中:
<img src={ post.frontmatter.indexImage.publicUrl } />
https://stackoverflow.com/questions/46714282
复制相似问题