如何在nodejs中初始化`ApolloClient`的实例?

时间:2019-05-31 04:58:43

标签: graphql apollo apollo-client

我有下面用nodejs10编写的代码。

const ApolloClient = require('apollo-boost');

const client = new ApolloClient({
  uri: 'http://localhost:8000/graphql'
});

运行该程序时出现的错误是:

const client = ApolloClient({
               ^

TypeError: ApolloClient is not a function

下面是依赖项:

"apollo-boost": "^0.3.1",
    "apollo-cache-inmemory": "^1.6.0",
    "apollo-client": "^2.6.0",
    "apollo-link-http": "^1.5.14",
    "apollo-server": "^2.5.0",
    "apollo-server-express": "^2.5.1",

我按照用户指南设置了一个阿波罗客户端,将其带到我的服务器上。但是它在一开始就失败了。我想知道我的代码有什么问题。我有什么想念的吗?

2 个答案:

答案 0 :(得分:0)

为了初始化Apollo Client,必须在config对象上指定链接和缓存属性。您可以使用默认导入来覆盖它。

const apollo = require('apollo-boost');
const ApolloClient = apollo.default;

const client = new ApolloClient({
  uri: 'http://localhost:8000/graphql'
});

答案 1 :(得分:0)

require('apollo-boost')不会返回ApolloClient,它返回一个包含ApolloClient的对象。

ApolloGraphQL / apollo-client 上的github issue

// es6 import
import { default as ApolloClient } from 'apollo-boost';

// es5 or Node.js
const Boost = require('apollo-boost');
const ApolloClient = Boost.DefaultClient;