微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在构建期间禁用服务器查询

如何解决在构建期间禁用服务器查询

我们有一个 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 应该从哪里获取数据?
  • 在请求时,由服务器?使用 getServerSideProps
  • 在请求时,由客户端(浏览器?)检查 typeof(window) !== 'undefined' 并使用 fetch + async/await。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。