0

我刚刚意识到并注意到我的 vue 应用程序在某些旧浏览器(例如 ios 9)上运行不佳。我使用vue-apollo使用 django graphene 从 graphql api 获取数据,但是当我调试它时,它不会在第一次加载时被调用。

以前我得到像“全局找不到fetch”这样的错误,但后来我已经通过将“unfetch”添加到 ApolloClient 配置来修复它。但我仍然无法在 xhr 网络上看到调用 api。我没有尝试过同构获取

这是我的 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 / 任何旧版浏览器上运行?

4

1 回答 1

0

好的,调试了两天,终于找到了问题所在。所以事实证明,我还需要添加和配置babel/polyfill以使其工作,并将其添加到我的应用程序的入口点。

希望每个有同样问题的人都能从我的错误中吸取教训,哈哈

于 2019-04-24T16:04:07.517 回答