我正在尝试禁用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,
)};
答案 0 :(得分:2)
这似乎是因为您使用的是Apollo Boost,它是Apollo Client的包装,API稍有不同。
尝试从以下位置更改导入:
import ApolloClient from "apollo-boost";
收件人:
import ApolloClient from "apollo-client";
“阿波罗客户端”级别较低,更难使用。这可能就是该团队创建“阿波罗助推器”的原因。
但是查看源代码“ 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';
const apolloClient = new ApolloClient({
link: new HttpLink({
uri: '/graphql',
credentials: 'same-origin',
}),
cache: new InMemoryCache(),
defaultOptions: {
query: {
errorPolicy: 'all',
},
},
});
另请参阅migration上的文档,如Intellidroid所说,从Apollo Boost到Apollo Client。