我有这个网站:https ://zeitouni.herokuapp.com ,其中有很多高质量的图像。当用户第一次加载网站时,gatsby-image 需要很长时间才能加载大部分图像。该项目的回购在这里:https ://github.com/EliranGooner/zeitouni
我怀疑的第一件事是图像尺寸。我不确定我应该争取哪些尺寸,以加快图像加载速度。问题也可能是我用来获取图像的组件。这是我在 Spectrum 上找到的一种方法,建议使用它来解决无法使用 Graphql 对查询进行插值的问题。该组件如下所示:
const Image = ({ imgName, ...props }) => (
<StaticQuery
query={graphql`
query {
allImageSharp {
edges {
node {
fluid(maxWidth: 1200, quality: 100) {
...GatsbyImageSharpFluid
originalName
presentationWidth
}
}
}
}
}
`}
render={data => {
const image = data.allImageSharp.edges.find(
edge => edge.node.fluid.originalName === imgName
)
if (!image) {
return null
}
return <Img fluid={image.node.fluid} {...props} />
}}
/>
)