我正在尝试将 ai2html 合并到 Gatsby 构建的存储库中。我很快意识到我不能简单地使用gatsby-image
,因为我没有将所有东西都部署到一个地方:我的代码 viapublic/index.html
去一个地方,我的图像存在于 AWS S3 中。我正在寻找一种通过 URL 将图像拉入我的方法src/index.js
,最好采用分步教程的方式,因为我是 Gatsby 的新手。
到目前为止,我已经尝试使用gatsby-source-s3
(docs here),但我不确定我是否在我的index.js
(我已经安装了它并将相关信息放入gatsby-config.js
:
import React from "react"
import { useStaticQuery, graphql } from "gatsby"
import "../styles/ai_styles.css"
export default () => {
const data = useStaticQuery(graphql`
query IndexQuery {
images: allS3Images {
edges {
node {
Key
Url
}
}
}
}
`)
return (
<div>
<div id="g-crime-box" className="ai2html ai2html-box-v5">
<div id="g-mobile" className="g-artboard" style={{width: '280px', height: '2328.3424680476px'}} data-aspect-ratio="0.12" data-min-width="280" data-max-width="579">
<Img fluid={data.images.node.Url} alt="alt desktop image" />
...
</div>
我的主要问题是,{data.images.node.Url}
调用图像的最佳方式是还是我做错了?这是最好的方法吗?有没有人看到其他方法来做到这一点?