【发布时间】:2019-09-12 08:40:29
【问题描述】:
我刚刚意识到并注意到我的 vue 应用程序在某些较旧的浏览器(例如 ios 9)上无法正常运行。我使用vue-apollo 使用 django graphene 从 graphql api 获取数据,但是当我调试它时,它不会在第一次加载时被调用。
以前我收到类似“全局找不到获取”的错误,但后来我已经通过将“取消获取”添加到 ApolloClient 配置来修复它。但我仍然无法在 xhr 网络上看到调用 api。我还没有尝试过 isomorphic-fetch
这是我的 apollo 客户端配置代码:
// src/utils/graphql.js
import { ApolloClient } from 'apollo-client';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
import fetch from 'unfetch'
export default new ApolloClient({
// Provide the URL to the API server.
link: new HttpLink({ uri: '/api/', fetch: fetch }),
// Using a cache for blazingly
// fast subsequent queries.
cache: new InMemoryCache(),
connectToDevTools: true
});
我在 main.js 中这样指定它
import apolloClient from '../utils/graphql'
import VueApollo from 'vue-apollo'
Vue.use(VueApollo);
Vue.config.silent = true
const apolloProvider = new VueApollo({
defaultClient: apolloClient,
defaultOptions: {
$loadingKey: "loading"
}
})
这是我在 main.js 中使用的 apollo 示例以及使用智能查询:
apollo: {
currentUser: {
query: GET_LOGGED_USER,
skipQuery() {
return this.skipUser
}
}
}
如何让它在 ios 9 / 任何旧版浏览器上运行?
【问题讨论】:
标签: javascript vue.js vuejs2 graphql vue-apollo