gpt4 book ai didi

graphql-js - 来自 Gatsby 中单个对象 JSON 文件的 GraphQL 模式

转载 作者:行者123 更新时间:2023-12-01 23:37:51 24 4
gpt4 key购买 nike

所以我想查询一个 JSON 文件,它不是来自 Gatsby 的 GraphQL 的数组,但我真的不知道该怎么做。

据我所知,gatsby-transformer-json 文档 - 它仅支持加载数组并通过 allFileNameJson 架构访问它们。

我的 gatsby-config 插件(只有这个问题需要的插件):

{
resolve: 'gatsby-source-filesystem',
options: {
name: 'data',
path: `${__dirname}/src/data`
}
},
'gatsby-transformer-json'

然后假设在 src/data 中我有一个 something.json 文件,如下所示:

{
"key": "value"
}

现在我想从 something.json 文件中查询数据,但是没有我可以查询的 somethingJson 模式(尝试使用 Gatsby 的 GraphiQL)。

谁能指出我做错了什么或者我该如何解决这个问题?

最佳答案

好的,所以只要它们有父(文件夹)就可以查询单对象文件。

让我们采用这些参数:

  • gatsby-source-filesystem配置为 src/data
  • test.json文件位于 src/data/test.json{ "key": "value" }里面的内容

现在作为 test.json文件实际上有一个父级(data 文件夹)——您可以从test.json 中查询字段像这样:

{
dataJson {
key
}
}

但是将它们直接放在您的根文件夹中是一种不好的做法,因为当您将存储另一个 json 文件时,即 secondtest.json{ "key2": "value2" } content, 并将使用与上面相同的查询来查询它,您将仅从单个节点获取数据(不确定它是第一个还是最后一个遇到的节点),

因此,针对这种情况的完美解决方案是将您的单对象 json 文件存储在单独的文件夹中,每个文件夹只有一个 json。

例如你有一些“关于我”的数据:

  1. 创建一个 about在你的文件夹中 src/data
  2. 创建一个 index.json文件即 { "name": "John" }
  3. 查询您的数据

像这样:

{
aboutJson {
name
}
}

就是这样。

关于graphql-js - 来自 Gatsby 中单个对象 JSON 文件的 GraphQL 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370196/

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