如何在旧版 IOS/旧版浏览器上使用 Graphql Vue Apollo?

Posted

技术标签:

【中文标题】如何在旧版 IOS/旧版浏览器上使用 Graphql Vue Apollo?【英文标题】:How to use Graphql Vue Apollo on older IOS / older browser? 【发布时间】: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 / 任何旧版浏览器上运行?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何在旧版 IOS/旧版浏览器上使用 Graphql Vue Apollo?的主要内容,如果未能解决你的问题,请参考以下文章

CSS 在旧版浏览器中支持HTML5元素所需的样式声明

在旧版应用程序中混合现代数据访问

在旧版 Win32 应用程序中实现 COM 事件接收器

在旧版 OS X 上的 OS X10.6.4 上开发的软件包的兼容性问题

无法使用 R dplyr 在旧版 SQL 查询中引用 SQL 视图

在旧版 ASP.NET 网站项目中,我应该在哪里定义 MembershipValidatePasswordEventHandler?