Я пытаюсь использовать ApolloClient
с локальным IP-адресом как uri
, но когда я его устанавливаю, он автоматически меняет его с http
на https
и, конечно, он не работает локально.
Я пробовал 2 способа настройки Gatsby
для использования ApolloClient
.
- Первый способ -
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
запрос на вкладке сети:
Это принудительно https
, и я не могу проверить локально. Как я могу сделать запрос на http
, используя Gatsby
и ApolloClient
?
Кстати, я установил ApolloClient
так же, как это в другом проекте, который не использует Gatsby
(очевидно, также не использует плагин gatsby) и он работает как положено.