Используйте ApolloClient в Gatsby с локальным / локальным IP-адресом - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь использовать ApolloClient с локальным IP-адресом как uri, но когда я его устанавливаю, он автоматически меняет его с http на https и, конечно, он не работает локально.

Я пробовал 2 способа настройки Gatsby для использования ApolloClient.

  1. Первый способ - gatsby-browser, например:
    import React from 'react';
    import 'core-js/modules/es6.set';
    import 'core-js/modules/es6.map';
    import 'raf/polyfill';
    import Apollo from 'providers/Apollo';

    export const wrapRootElement = ({ element }) => <Apollo>{element}</Apollo>;

И, ApolloClient config:

    import React from 'react';
    import { ApolloProvider, ApolloClient, InMemoryCache } from '@apollo/client';

    export default ({ children }) => {
      const client = new ApolloClient({
        uri: 'http://192.162.1.112:4000/graphql',
        cache: new InMemoryCache(),
        request: async operation => {
          ...
        },
        fetchOptions: {
          mode: 'no-cors',
        },
      });

      return <ApolloProvider client={client}>{children}</ApolloProvider>;
    };

Второй способ - использовать плагин gatsby-plugin-apollo в gatsby-config, вот так

    {
       resolve: 'gatsby-plugin-apollo',
       options: {
         uri: 'http://192.168.1.112:4000/graphql'
       }
    }

Обратите внимание, что оба uri имеют http. Кроме того, это либо один, либо другой, а не оба. (Хотя я пробовал и то, и другое с одинаковым результатом).

Вот что я пытаюсь сделать gql запрос на вкладке сети:

enter image description here

Это принудительно https, и я не могу проверить локально. Как я могу сделать запрос на http, используя Gatsby и ApolloClient?

Кстати, я установил ApolloClient так же, как это в другом проекте, который не использует Gatsby (очевидно, также не использует плагин gatsby) и он работает как положено.

1 Ответ

0 голосов
/ 09 апреля 2020

В использовании клиента apollo есть несколько запутанных моментов. Нет смысла объяснять что-то, что уже было сделано.

Возможно, вы захотите проверить этот доклад и демонстрацию по Джейсону Ленгсторфу . Здесь он объяснил, как можно начать работу с клиентом gatsby + apollo.

Youtube

gatsby-with-apollo

...