-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
37 lines (31 loc) · 1.05 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import express from 'express';
import { graphqlExpress, graphiqlExpress } from 'apollo-server-express';
import compression from 'compression';
import bodyParser from 'body-parser';
import schema from './data/schema';
const { ApolloEngine } = require('apollo-engine');
const cors = require('cors')
const dotenv = require('dotenv').config()
const GRAPHQL_PORT = (process.env.PORT || 4000);
const graphQLServer = express();
graphQLServer.use(cors()) // not having cors enabled will cause an access control error
graphQLServer.use(compression());
graphQLServer.use('/graphql', bodyParser.json(), graphqlExpress({
schema,
context: {},
tracing: true,
cacheControl: true
}));
graphQLServer.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' }));
const engine = new ApolloEngine({
apiKey: process.env.ENGINE_API_KEY
});
engine.listen({
port: GRAPHQL_PORT,
expressApp: graphQLServer,
});
// graphQLServer.listen(GRAPHQL_PORT, () =>
// console.log(
// `GraphiQL is now running on http://localhost:${GRAPHQL_PORT}/graphiql. Go Huskies!`
// )
// );