Не удается найти сообщение об ошибке глобального объекта при использовании клиента ssr apollo - PullRequest
0 голосов
/ 25 ноября 2018

Я получаю следующую ошибку при использовании реакции на рельсах к серверу рендеринга apollo с реакцией маршрутизатора v4: Error: unable to locate global object.Я пытался реализовать следующее, но это не сработало:

ApolloClientServer.js

import { ApolloClient } from 'apollo-client';
import { createHttpLink } from 'apollo-link-http';
import { setContext } from 'apollo-link-context';
import { InMemoryCache } from 'apollo-cache-inmemory';
import fetch from 'node-fetch';

const httpLink = createHttpLink({
  uri: '/graphql',
  fetch,
  clientState: {
    defaults: {},
  }
});

const authLink = setContext((_, { headers }) => {
  const email = localStorage.getItem('email');
  const token = localStorage.getItem('token');
  return {
    headers: {
      ...headers,
      email,
      authorization: token ? `Bearer ${token}` : "",
    }
  }
});

export const client = new ApolloClient({
  ssrMode: true,
  link: authLink.concat(httpLink),
  cache: new InMemoryCache()
});

Server.js:

import React from 'react';
import { Provider } from 'react-redux';
import { StaticRouter } from 'react-router';
import adminStore from '../redux/store';
import AdminMain from './AdminMain';
import { ApolloProvider } from 'react-apollo';
import { client } from '../utils/ApolloClientServer';

export default (_props, railsContext) => {
  ....

  return (
    <ApolloProvider client={client}>
      <StaticRouter
        location={location}
        context={context}
      >
        <AdminMain />
      </StaticRouter>
    </ApolloProvider>
  );
};

Есть ли конфигурация, которую я пропускаю илимне нужно импортировать другую библиотеку?

...