Size: a a a

GraphQL — русскоговорящее сообщество

2019 June 13

СО

Степан Облонский in GraphQL — русскоговорящее сообщество
ладно, муторная очень ситуация
источник

А

Андрей in GraphQL — русскоговорящее сообщество
Степан Облонский
ладно, муторная очень ситуация
а там дальше файл  loader,что это?
источник

А

Андрей in GraphQL — русскоговорящее сообщество
может с ним как-то пересекается?
источник

СО

Степан Облонский in GraphQL — русскоговорящее сообщество
Я немогу к этому файлу достать, это какие то внутренние пакеты Node.js
источник

СО

Степан Облонский in GraphQL — русскоговорящее сообщество
могу достать только туда где строка начинается с Object.<anonymous>
источник

А

Андрей in GraphQL — русскоговорящее сообщество
Степан Облонский
Я немогу к этому файлу достать, это какие то внутренние пакеты Node.js
хз)
может как вариант сделать проверку?
источник

DP

Darafei Praliaskouski in GraphQL — русскоговорящее сообщество
а расскажите мне такое
источник

DP

Darafei Praliaskouski in GraphQL — русскоговорящее сообщество
у меня вот есть бекенд с графкьюэлем за nginx, в который приходит неавторизованный одинаковый запрос
источник

DP

Darafei Praliaskouski in GraphQL — русскоговорящее сообщество
я хочу его закешировать на nginx, как мне это сделать?
источник

R

Revival in GraphQL — русскоговорящее сообщество
Новичек в Apollo, help me :)
Вебпак фронта запускает сервер на 8080 порту, express сервер на 4000 порту.

Необходимо с фронта сделать запрос на бек.
Вариант 1:
const client = new ApolloClient({
 uri: "http://localhost:4000/graphql"
});

Данный вариант рабочий, но в главе Авторизация (в доке) юзают apollo-link-http
If your app is browser based and you are using cookies for login and session management with a backend, it's very easy to tell your network interface to send the cookie along with every request. You just need to pass the credentials option. e.g.  credentials: 'same-origin' as shown below, if your backend server is the same domain or else credentials: 'include' if your backend is a different domain.

При использовании apollo-link-http, скорее всего, можно более тонко настроить http запросы.
Поэтому движемся к второму варианту...

Вариант 2:
const link = new createHttpLink({
 uri: "http://localhost:4000/graphql",
 credentials: "include",
});

const client = new ApolloClient({
 link,
});

При таком подходе запросы почему-то идут на 8080 порт (Request URL: http://localhost:8080/graphql)

Как поставить нужный мне порт при использовании второго варианта?
источник

e

egoarka in GraphQL — русскоговорящее сообщество
Revival
Новичек в Apollo, help me :)
Вебпак фронта запускает сервер на 8080 порту, express сервер на 4000 порту.

Необходимо с фронта сделать запрос на бек.
Вариант 1:
const client = new ApolloClient({
 uri: "http://localhost:4000/graphql"
});

Данный вариант рабочий, но в главе Авторизация (в доке) юзают apollo-link-http
If your app is browser based and you are using cookies for login and session management with a backend, it's very easy to tell your network interface to send the cookie along with every request. You just need to pass the credentials option. e.g.  credentials: 'same-origin' as shown below, if your backend server is the same domain or else credentials: 'include' if your backend is a different domain.

При использовании apollo-link-http, скорее всего, можно более тонко настроить http запросы.
Поэтому движемся к второму варианту...

Вариант 2:
const link = new createHttpLink({
 uri: "http://localhost:4000/graphql",
 credentials: "include",
});

const client = new ApolloClient({
 link,
});

При таком подходе запросы почему-то идут на 8080 порт (Request URL: http://localhost:8080/graphql)

Как поставить нужный мне порт при использовании второго варианта?
подними прокси на сервере, что сервит клиент

https://github.com/chimurai/http-proxy-middleware

в target укажи endpoint своего gql'а
—-
либо просто cors проверь на своем express сервере, походу он у тебя игнорит клиент
источник

R

Revival in GraphQL — русскоговорящее сообщество
egoarka
подними прокси на сервере, что сервит клиент

https://github.com/chimurai/http-proxy-middleware

в target укажи endpoint своего gql'а
—-
либо просто cors проверь на своем express сервере, походу он у тебя игнорит клиент
с cors все отлично, просто запрос идет совсем на другой порт при втором варианте 😅
источник

R

Revival in GraphQL — русскоговорящее сообщество
я не очень понимаю по какой причине apollo-link-http отправляет все запросы на тот же урл, на котором и клиент
источник

e

egoarka in GraphQL — русскоговорящее сообщество
Revival
я не очень понимаю по какой причине apollo-link-http отправляет все запросы на тот же урл, на котором и клиент
тебе поэтому прокси нужно поднять и форвардить трафик на таргет-сервер

но это заморочки, чет ты не так сконфигурировал
источник

R

Revival in GraphQL — русскоговорящее сообщество
egoarka
тебе поэтому прокси нужно поднять и форвардить трафик на таргет-сервер

но это заморочки, чет ты не так сконфигурировал
а как быть когда в проду выкатывать нужно будет?
чисто теоритически - другой сервер будет заниматься обработкой запросов)
источник

R

Revival in GraphQL — русскоговорящее сообщество
сложный этот ваш Apollo 😅
источник

e

egoarka in GraphQL — русскоговорящее сообщество
Revival
а как быть когда в проду выкатывать нужно будет?
чисто теоритически - другой сервер будет заниматься обработкой запросов)
при деплое адрес подменить)
источник

R

Revival in GraphQL — русскоговорящее сообщество
egoarka
при деплое адрес подменить)
но ведь если домеен будет другой - я опять не смогу запросы отправлять
не могу понять причину такого поведения, почему вариант1 работает, второй вариант (который занимается исключительно http запросами) уже не пашет
источник

AS

Andrey Sherpic in GraphQL — русскоговорящее сообщество
Приветствую, всех!
Есть вопрос. Разрабатываю API (Laravel) на библиотеке Lighthouse + клиент Vue (Apollo).
И порядком запарила обработка ошибок на клиенте. Да еще и прилетают они в массиве. А вместе с ошибками еще и NULL в ответе.
Понимаю, что без массива никак, из-за возможности посылать несколько query или mutation в одном запросе. Но все, же.
Может есть у кого опыт написания либо удобного предобработчика ошибок на стороне сервера, либо на стороне клиента. Может репозиторий какой публичный, где есть что-то подобное.
Буду признателен за любой толчок в этом направлении)
источник

e

egoarka in GraphQL — русскоговорящее сообщество
Revival
но ведь если домеен будет другой - я опять не смогу запросы отправлять
не могу понять причину такого поведения, почему вариант1 работает, второй вариант (который занимается исключительно http запросами) уже не пашет
скинь пример скомпилить минимальный (без сервера), я уже сам не соображаю)
источник