Loading .graphql Files
To load .gql
and .graphql
files, first install the graphql
and graphql.macro
packages by running:
npm install --save graphql graphql.macro
Alternatively you may use yarn
:
yarn add graphql graphql.macro
Then, whenever you want to load .gql
or .graphql
files, import the loader
from the macro package:
import { loader } from 'graphql.macro';const query = loader('./foo.graphql');
And your results get automatically inlined! This means that if the file above, foo.graphql
, contains the following:
query {hello {world}}
The previous example turns into:
const query = {'kind': 'Document','definitions': [{...}],'loc': {...'source': {'body': '\\\\n query {\\\\n hello {\\\\n world\\\\n }\\\\n }\\\\n','name': 'GraphQL request',...}}};
You can also use the gql
template tag the same way you would use the non-macro version from graphql-tag
package with the added benefit of inlined parsing results.
import { gql } from 'graphql.macro';const query = gql`query User {user(id: 5) {lastName...UserEntry1}}`;