graphql - ApolloBoost 被初始化为不支持的选项 :

标签 graphql apollo apollo-client apollo-server vue-apollo

我正在尝试 禁用缓存 在 Apollo 上,因此我正在关注文档 apollo-client
,但我无法成功,我一直收到此警告 ApolloBoost was initialized with unsupported options: defaultOptions
有没有人有同样的警告?

import Vue from 'vue'
import ApolloClient from 'apollo-boost'

    const defaultOptions = {
      watchQuery: {
        fetchPolicy: 'network-only',
        errorPolicy: 'ignore'
      },
      query: {
        fetchPolicy: 'network-only',
        errorPolicy: 'all'
      }
    }

    const client = new ApolloClient({

    defaultOptions: defaultOptions,
    )};

最佳答案

看起来是因为您正在使用 Apollo Boost ,Apollo Client 的包装器,API 略有不同。
尝试更改您的导入:import ApolloClient from "apollo-boost";到:import ApolloClient from "apollo-client";或在 v3 中:import { ApolloClient } from '@apollo/client';
“apollo-client”级别更低,更难使用。这可能就是该团队创建“apollo-boost”的原因。
但是查看源代码“apollo-boost”是了解如何使用低级“apollo-client”的好方法。例如:

import ApolloClient from 'apollo-client';
import { FetchResult } from 'apollo-link';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';

// in v3, the types moved:
// import { ApolloClient } from '@apollo/client';

const apolloClient = new ApolloClient({
  link: new HttpLink({
    uri: '/graphql',
    credentials: 'same-origin',
  }),
  cache: new InMemoryCache(),
  defaultOptions: {
    query: {
      errorPolicy: 'all',
    },
  },
});
另请参阅 migration 上的文档从 Apollo Boost 到 Apollo Client,就像 Intellidroid 所说的那样。

关于graphql - ApolloBoost 被初始化为不支持的选项 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53478128/

相关文章:

relational-database - 解析相关对象的惯用且高效的方法是什么?

graphql - Docusaurus v2 和 GraphQL Playground 集成

python - 如何使用 Graphene GraphQL 解析嵌套在另一种类型中的字段?

javascript - 使用 GraphQL (Nuxt) 访问嵌套节点

reactjs - NextJS getStaticProps 没有被调用

reactjs - 更改 jwt token 的 Apollo 客户端选项

javascript - GraphQL 抛出语法错误

graphql - 为什么 Apollo 服务器自定义指令不起作用?

javascript - 不使用 refetchQueries 更新 Apollo GraphQL 缓存?

javascript - useLazyQuery - 重新渲染问题