【发布时间】:2022-01-04 16:05:31
【问题描述】:
问题
当我在我的项目上运行 gatsby build 时会引发此错误:
Field "micro_article_container" of type "[StrapiArticleMicro_article_container]" must have a selection of subfields. Did you mean "micro_article_container { ... }"?
我的设置
我正在运行一个带有 Graphql 插件和一个 gatsby 前端的 strapi (v3.6.8) 实例。
articletype 有一个动态区域 (micro_article_container),其中填充了组件 micro_article。
什么时候出现错误?
要从我的strapi Graphql API 中获取数据,我运行以下查询:
query MyQuery2($article: String) {
strapiArticle(title: {eq: $article}) {
id
title
published_at(formatString: "DD.MMMM.YYYY", fromNow: false)
micro_article_container
}
}
该查询确实在提供的 graphql 游乐场中工作。在盖茨比的开发模式下,机器也没有问题。
只有当我尝试通过gatsby build 构建 gatsby 项目时,才会收到上面写的错误。
起初我以为我可以修改查询,以便 micro_article_container 有缺少的子文件:
query MyQuery2($article: String) {
strapiArticle(title: {eq: $article}) {
id
title
published_at(formatString: "DD.MMMM.YYYY", fromNow: false)
micro_article_container{
title
}
}
}
这也不起作用并引发以下错误:
Field "micro_article_container" must not have a selection since type "JSON" has no subfields.
我可以说我不能为 micro_article_container 提供子字段,因为它是一个对象数组,并且具有在 graphql 游乐场中显示的 JSON 类型。但是,如果我不添加子字段,为什么会引发错误:D
因为这是我第一次使用strapi 的动态区域,所以我无法弄清楚我的查询出了什么问题。此外,我对它在开发模式下工作感到困惑,但如果我想构建它会抛出错误。
【问题讨论】: