gpt4 book ai didi

GraphQL 查询访问位于子目录中的文件夹中的所有转换后的 json 文件

转载 作者:行者123 更新时间:2023-12-04 02:40:01 26 4
gpt4 key购买 nike

我有一个像这样的项目结构:

-$PROJECT
--src
---data
----projects
-----project1
------project.json
------images
-------project1-preview.png
-----project2
------project.json
-------images
...

等等,不管有多少项目。当这些 project.json 文件被命名为项目的标题并位于 projects 文件夹中时,我可以使用 graphQl 中的 allProjectsJson 查询这些 project.json 文件,但是现在它们位于 的子文件夹中>项目。我只能单独查询它们,如 allProject1Json 等等。有没有办法查询 allProjectsJson 以便获得所有 project.json 文件?

我可以通过使用 json 文件过滤器查询 allFile 来找到我的项目文件,但是,这些文件没有转换为 json,所以我无法访问这些元素。

在我的 gatsby-config 文件中,我导入 src/data 作为文件源。

最佳答案

来 self 在 https://github.com/gatsbyjs/gatsby/issues/20734 的回答:

啊,我明白你的意思了:)幸运的是 gatsby-transformer-json 有一个插件选项可以帮助你摆脱困境!

这是typeName选项。您应该能够检查每个 JSON 节点上的字段,并将其用作类型名称。像这样:

    {
resolve: `gatsby-transformer-json`,
options: {
typeName: ({ node, object, isArray }) =>
object.project ? `Project` : `Json`,
},
},

这样,定义了字段 project 的任何内容都将显示为 allProject { ... },而任何其他 json 文件将显示为 allJson { ...

{
allProject {
nodes {
project
}
}
}
{
"data": {
"allProject": {
"nodes": [
{
"project": "project1"
},
{
"project": "project2"
}
]
}
}
}

关于GraphQL 查询访问位于子目录中的文件夹中的所有转换后的 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59831767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com