使用GraphQL在项目中不起作用的Nuxtjs中检索Prismic slices的内容

时间:2019-05-22 05:19:29

标签: vue.js graphql nuxt.js

在浏览器中测试查询时,我可以轻松查询切片,但是在我的项目中,一次尝试查询Prismic切片时,所有检查都崩溃了。 软件包:apollo-client,apollo-cache-memory,apollo-link-prismic

查询类似于:

{
  thepage(uid: "page", lang: "en-gb") {
    page_title
    page_description
    body {
      ... on ThePageBodyHero {
        type
        fields {
          title
          description
          button_text
          button_link {
            _linkType
          }
        }
      }
    }
  }
}

这在界面中有效,但是一旦我在项目中添加了slices部分,查询就会返回404。

1 个答案:

答案 0 :(得分:0)

将Apollo Client与Slice一起使用时,您需要具有正确的缓存设置来解析Slice。意思是基于对Prismic:https://www.apollographql.com/docs/react/advanced/fragments#fragment-matcher的自省查询来设置片段匹配器。 我们计划在Prismic库中为Apollo进行此操作,因此人们不必再在乎它了。 在您的情况下,您得到了404,但看看谁返回404会很有趣,因为所有症状似乎都导致了我刚才解释的问题。 告诉我您是否有更多信息;)

同时,这是一个适当的实现:https://github.com/birkir/gatsby-source-prismic-graphql/blob/master/packages/gatsby-source-prismic-graphql/src/utils/getApolloClient.ts#L17