Files
create-react-app/docusaurus/docs/loading-graphql-files.md
nagman 4b8b38bf7c Update GraphQL doc (#6898)
* Need to install graphql package
* Need to provide real graphql in the .graphql file, not gql wrapped graphql
2019-04-29 22:26:44 -07:00

1.4 KiB

id, title, sidebar_label
id title sidebar_label
loading-graphql-files Loading .graphql Files 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
    }
  }
`;