【发布时间】:2021-10-04 11:01:31
【问题描述】:
我们有一个 docker 镜像来设置后端服务器和使用 ApolloClient 的前端 NextJS 应用程序。在 NextJS 应用程序的构建过程中,Apollo 客户端尝试查询后端服务器的 graphql 端点,该端点由于服务器尚未启动而无法正常工作。
有没有办法让 ApolloClient 在构建期间不查询外部服务器? 这是构造函数:
function createApolloClient() {
return new ApolloClient({
ssrMode: typeof window === 'undefined',
link: createUploadLink({
uri: process.env.HOSTNAME + '/graphql',
credentials: 'same-origin',
}),
cache: new InMemoryCache({
typePolicies: {
Query: {
fields: {
allPosts: concatPagination(),
},
},
},
}),
onError: ({ networkError, graphQLErrors }) => {
console.log('graphQLErrors', graphQLErrors)
console.log('networkError', networkError)
}
})
}
我们最终想要的是一个运行后端 (Java) 服务器的 docker 容器,该服务器为 NextJS 构建的静态文件提供服务。
【问题讨论】:
-
Next.js应用不能查询后端API怎么办?
标签: next.js apollo apollo-client react-apollo graphql-js