【发布时间】:2021-03-01 17:21:45
【问题描述】:
我是盖茨比的初学者。我尝试在特定文件夹中的网格中显示一批图像。我找到了一个脚本来做到这一点,但这是从我的data 文件夹中捕获所有图片,我的目的是针对特定的。我尝试了一个脚本,但是当我尝试过滤这个allImageSharp(filter: { sourceInstanceName: { eq: "media" } }) { 时,它不适用于allImageSharp。
当我尝试allImageSharp(filter: { id: { regex: "/media/" } }) { 时,只显示一个空白窗口,但这就像allImageSharp { 一样工作正常
javascript
import React from "react"
import { graphql } from "gatsby"
import Img from "gatsby-image"
import Layout from "../components/layout"
const img_grid_style = {
display: "grid",
gridTemplateColumns: `repeat(auto-fill, 200px)`,
}
export default ({ data }) => (
<div>
<Layout title="IMAGE GRID"></Layout>
<div style={img_grid_style}>
{data.allImageSharp.edges.map(edge => (
<Img fluid={edge.node.fluid} />
))}
</div>
</div>
)
export const query = graphql`
query {
allImageSharp(filter: { sourceInstanceName: { eq: "media" } }) {
edges {
node {
id
fluid(maxWidth: 200, maxHeight: 200) {
...GatsbyImageSharpFluid
}
}
}
}
}
`
config
module.exports = {
plugins: [
`gatsby-transformer-sharp`,
{
resolve: `gatsby-plugin-sharp`,
options: {
// Available options and their defaults:
base64Width: 20,
// forceBase64Format: ``, // valid formats: png,jpg,webp // don't work on OSX
useMozJpeg: process.env.GATSBY_JPEG_ENCODER === `MOZJPEG`,
stripMetadata: true,
defaultQuality: 50,
failOnError: true,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `media`,
path: `./media/`,
},
},
],
}
【问题讨论】:
标签: javascript graphql gatsby