Я работаю над приложением с Angular и Ionic. В качестве бэкэнда у меня есть сервер узлов, на котором запущен ApolloServer с Neo4j (используется grandstarter.io). На стороне клиента у меня в настоящее время есть файл под названием query.ts, в котором я определил свои запросы graphql следующим образом:
supplierByName = (value) => {
const query = gql`
{
Supplier(filter: {name: "${value}"}) {
name
}
}
`;
return query;
};
Я использую apollo, поэтому я делаю так, чтобы выполнить свой запрос graphql
this.apollo.query({
query: this.queries.supplierByName(supplierName)
})
.subscribe(....)
Теперь, из-за того, что мне не нравятся мои запросы к graphql в виде строк, я бы хотел, чтобы мои запросы были непосредственно в файле .graphql. Лучше использовать инструмент при работе непосредственно в файле graphql, и, честно говоря, в основном потому, что запросы прямо сейчас болят мне глаза:)
Мне бы хотелось, чтобы это было так (file: query.graphql):
query supplierByName($value: String) {
Supplier(filter: { name: "$value}" }) {
name
}
}
затем, когда я выполняю запрос graphql с Apollo, я хотел бы сделать что-то вроде этого:
import supplierByName from './queries.graphql'
.....
this.apollo.query({
query: supplierByName(supplierName)
})
.subscribe(....)
и использовать его с apollo каким-то простым способом. Я посмотрел на этот ответ, но из того, что я могу собрать, он имеет отношение к ApolloServer. Я хочу просто разобрать запросы graphql на клиенте. Я нашел эту статью, которая приблизилась к тому, что мне нужно, но также имеет отношение к ApolloServer. Я использую Angular 8.1.2
. Все примеры в документации Apollo с angular показывают примеры того, как я в настоящее время строил свои запросы со строками и с использованием gql (graphql-tag).