Reactjs 使用ssr apollo客户端时找不到全局对象错误消息
使用react-on-rails对服务器端渲染apollo和react-router v4时,我遇到以下错误:Reactjs 使用ssr apollo客户端时找不到全局对象错误消息,reactjs,react-apollo,apollo-client,server-side-rendering,react-on-rails,Reactjs,React Apollo,Apollo Client,Server Side Rendering,React On Rails,使用react-on-rails对服务器端渲染apollo和react-router v4时,我遇到以下错误:错误:无法定位全局对象。我试图实现以下目标,但没有成功: ApolloClientServer.js import { ApolloClient } from 'apollo-client'; import { createHttpLink } from 'apollo-link-http'; import { setContext } from 'apollo-link-context
错误:无法定位全局对象
。我试图实现以下目标,但没有成功:
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>
);
};
从“React”导入React;
从'react redux'导入{Provider};
从“react router”导入{StaticRouter};
从“../redux/store”导入adminStore;
从“/AdminMain”导入AdminMain;
从'react apollo'导入{ApolloProvider};
从“../utils/ApolloClientServer”导入{client};
导出默认值(_props,railsContext)=>{
....
返回(
);
};
是否缺少配置或需要导入其他库