Does apollo-client work on node.js?

Ed Staub picture Ed Staub · Nov 24, 2016 · Viewed 10.9k times · Source

I need a graphql client lib to run on node.js for some testing and some data mashup - not in a production capacity. I'm using apollo everywhere else (react-apollo, apollo's graphql-server-express). My needs are pretty simple.

Is apollo-client a viable choice? I can find no examples or docs on using it on node - if you're aware of any, please share.

Or maybe I should/can use the reference graphql client on node?

Answer

André Pena picture André Pena · Feb 22, 2019

Apollo Client should work just fine on Node. You only have to install cross-fetch because it assumes fetch exists.

Here is a complete TypeScript implementation of Apollo Client working on Node.js.

import ApolloClient, { gql } from "apollo-boost";

import { InsertJob } from "./graphql-types";
import 'cross-fetch/polyfill';

const client = new ApolloClient({
  uri: "http://localhost:3000/graphql"
});


client.mutate<InsertJob.AddCompany, InsertJob.Variables>({
  mutation: gql`mutation insertJob($companyName: String!) {
      addCompany(input: { displayName: $companyName } ) {
          id
      }
  }`,
  variables: {
    companyName: "aaa"
  }
})
  .then(result => console.log(result));