创建 Apollo 客户端后,有没有办法更改 Apollo 端点?我想让用户输入他们自己的端点。
问问题
853 次
2 回答
3
httpEndpoint
可以是一个函数,每次查询都会调用它。
正如@wrod7 提到的,你可以使用localStorage,但全局变量应该足够了
// vue-apollo.js
export { defaultOptions }
// main.js
import { createProvider, defaultOptions } from './vue-apollo'
window.apolloEndpoint = defaultOptions.httpEndpoint
new Vue({
router,
apolloProvider: createProvider({
cache,
httpEndpoint: () => window.apolloEndpoint,
}),
render: h => h(App),
}).$mount('#app')
你可以设置apolloEndpoint
任何你喜欢的地方,我window.
用来让 eslint 开心
httpEndpoint 使用当前查询调用,因此您可以根据条件有条件地返回端点operationName
vue-apollo 支持多个客户端,如果您只想在某些查询上覆盖端点,它可能会很有用,但我认为这是题外话
于 2019-06-08T22:51:09.840 回答
1
我正在我的一个应用程序上执行此操作。我将 URL 字符串存储在移动设备上的 localstorage 或 asyncstorage 中。您可以在应用程序加载时检查字符串,如果没有存储 url 字符串,则让用户输入一个。输入 url 并将其保存到 localstorage 后,应用程序必须刷新。
于 2018-10-01T13:48:42.377 回答