首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“在'apollo-client‘中找不到导出'createNetworkInterface’

“在'apollo-client‘中找不到导出'createNetworkInterface’
EN

Stack Overflow用户
提问于 2017-10-27 08:03:00
回答 2查看 5.8K关注 0票数 6

我做了这个示例:https://github.com/Akryum/vueconf-2017-demo

因此,我的项目中有相同的文件:https://github.com/Akryum/vueconf-2017-demo/blob/master/src/apollo-client.js

以下是我的应用程序中使用的代码:

代码语言:javascript
复制
import { ApolloClient, createNetworkInterface } from 'apollo-client'

const apolloClient = new ApolloClient({
  networkInterface: createNetworkInterface({
    uri: 'http://localhost:3000/graphql',
    transportBatching: true,
  }),
  connectToDevTools: true,
})

export default apolloClient

因此,我在控制台收到以下错误(警告):

代码语言:javascript
复制
warning  in ./src/apollo/client.js

15:23-45 "export 'createNetworkInterface' was not found in 'apollo-client'

这是来自浏览器控制台的代码:

代码语言:javascript
复制
TypeError: Object(__WEBPACK_IMPORTED_MODULE_0_apollo_client__["createNetworkInterface"]) is not a function. (In 'Object(__WEBPACK_IMPORTED_MODULE_0_apollo_client__["createNetworkInterface"])({
    uri: 'http://localhost:3000/graphql',
    transportBatching: true
  })', 'Object(__WEBPACK_IMPORTED_MODULE_0_apollo_client__["createNetworkInterface"])' is an instance of Object)

有什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2018-02-27 21:15:11

由于2.x版本的Apollo已经弃用了NetworkInterface而支持Apollo Link,不幸的是这是一个突破性的变化。

要让您的代码再次工作,您需要进行以下更改,

替换

代码语言:javascript
复制
import { ApolloClient, createNetworkInterface } from 'apollo-client'

使用

代码语言:javascript
复制
import ApolloClient from 'apollo-client';

添加

代码语言:javascript
复制
import { HttpLink } from 'apollo-link-http';

然后运行

代码语言:javascript
复制
npm install --save apollo-link-http

替换

代码语言:javascript
复制
const apolloClient = new ApolloClient({
  networkInterface: createNetworkInterface({
    uri: 'http://localhost:3000/graphql',
    transportBatching: true,
  }),
  connectToDevTools: true,
})

使用

代码语言:javascript
复制
const apolloClient = new ApolloClient({
  link: new HttpLink({
    uri: 'http://localhost:3000/graphql'
  }),
  connectToDevTools: true,
})

别忘了导出你的函数

代码语言:javascript
复制
export default apolloClient
票数 9
EN

Stack Overflow用户

发布于 2017-10-27 19:35:16

看来repo还没有更新到使用apollo-client的最新版本。Apollo客户端在2.0版本中进行了重大更改。您可以查看这些更改的摘要和升级指南here。实施的重大更改之一是从NetworkInterface切换到ApolloLink,这就是为什么您会看到createNetworkInterface找不到的错误。

要么降级到版本1.9.3

代码语言:javascript
复制
npm install apollo-client@1.9.3

或者按照上面链接中的升级指南,了解如何在项目中使用2.0版。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46965564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档