Skip to content

Latest commit

 

History

History
69 lines (55 loc) · 1.38 KB

loading-graphql-files.md

File metadata and controls

69 lines (55 loc) · 1.38 KB
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
    }
  }
`;