graphql - Gatsby,在嵌套目录中加载图像
问题描述
我正在用 Gatsby 创建一个投资组合,我想使用 gatsby-image 进行优化,但我被卡住了。
我有一个projects
目录,其中我的每个项目都有一个单独的目录,并且在每个目录中我都有该项目的图像。像这样:
images
|_ project1
| |_ image1.png
| |_ image2.png
| |_ ...
|
|_ project2
| |_ image1.png
| |_ image2.png
| |_ ...
|
|_ ...
首先,在主页上,我想显示所有项目的画廊,这意味着我需要获取每个目录的第一张图片(用作缩略图)并以如下格式访问它这个或类似的东西:
{
"project1": [some image object],
"project2": [some image object],
"project3": [some image object],
...
}
然后当用户点击每个项目时,我需要弹出一个轮播并向他们展示该项目的其余图像。
所以总的来说,我需要能够以分层顺序访问我的图像,或者能够在 graphql 查询中使用变量。您可能会认为非常简单明了!但两者都不可能。所以我被困住了。
如果有帮助,我还可以选择将图像路径放在 json 文件中(我已经从 json 加载了我的内容)。像这样的东西:
{
project1: {
/* other project's data */,
images: [
"/projects/project1/image1.png",
"/projects/project1/image2.png",
...
]
},
project2: {
/* other project's data */,
images: [
"/projects/project2/image1.png",
"/projects/project2/image2.png",
...
]
},
...
}
那么请告诉我应该如何使用 Gatsby 和 gatsby-image 来实现这个投资组合?
解决方案
推荐阅读
- appstorage - 使用@AppStorage
- vue.js - 如何为VueRouter中的每个组件动态更改路由?
- java - 如何从 Preference Fragment 内部调用 onActivityResult()?
- r - 使用 ggmap mapdist() 出错并写回 tibble
- c# - 需要了解事件如何与 C# 中的委托一起工作
- firebase - 在现有项目中添加 Firebase 云功能
- python - 带有列表的 Python 嵌套字典(或带有字典的列表)到用于 CSV 输出的平面字典列表
- git - Git 日志 - GitlabCI - 从 git 日志中保存到名称为变量的文件
- javascript - 在 ASP.NET Core MVC 应用程序中使用 JavaScript 切换按钮
- react-native - 在 react native 和 firebase firestore 中实现重复日期