allMarkdownRemark
означает, что вы запрашиваете уценку , а не изображения . Но вы говорите, что просто тестируете. Если ваш тест на уценку прошел успешно, вы можете быть уверены, что часть GraphQL работает.
Вот важный код из документов, которые вы связали:
import { useStaticQuery, graphql } from "gatsby"
import Img from "gatsby-image"
export default () => {
const data = useStaticQuery(graphql`
query {
file(relativePath: { eq: "images/default.jpg" }) {
childImageSharp { // gatsby-image generates this GraphQL node for you
fluid { // gatsby-image supplies this GraphQL fragment for you
...GatsbyImageSharpFluid // gatsby-image supplies this GraphQL fragment for you
}
}
}
}
`)
return (
<div>
<h1>Hello gatsby-image</h1>
<Img
fluid={data.file.childImageSharp.fluid} // the data supplied by the gatsby-image query
alt="Gatsby Docs are awesome"
/>
</div>
)
}
Do I need to add this query to gatsby-node?
Нет, вы этого не сделаете. gatsby-node.js
предназначен для программного генерирования страниц. Вы можете использовать gatsby-image
независимо от любого кода gatsby-node.js
.
РЕДАКТИРОВАТЬ
Вы должны указать gatsby-image, где искать изображения, настроив источник данных. Самый простой способ - gatsby-plugin-filesystem
в gatsby-config.js
:
{
resolve: "gatsby-source-filesystem",
options: {
path: `${__dirname}/images`,
name: "images",
},
},
Ваш запрос graphQL
{
allFile(
filter: {
sourceInstanceName: {eq: "images"} // tell graphQL where to find your images
},
sort: {fields: [childImageSharp___fluid___originalName], order: ASC})
{
edges {
node {
childImageSharp {
fluid(maxWidth: 300, quality: 50) {
originalName
...GatsbyImageSharpFluid
}
}
}
}
}
}