Skip to content

Commit 078a0df

Browse files
authored
Merge pull request graphql#1108 from santoshyadavdev/update-apollographql-doc
fix/update-docs-for-apollographql server
2 parents 203f86c + c286b62 commit 078a0df

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

src/content/code/language-support/javascript/server/apollo-server.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,36 @@ npm: "apollo-server-express"
99
To run a hello world server with apollo-server-express:
1010

1111
```bash
12-
npm install apollo-server-express express
12+
npm install apollo-server-express apollo-server-core express graphql
1313
```
1414

1515
Then run `node server.js` with this code in `server.js`:
1616

1717
```js
18-
const express = require('express');
19-
const { ApolloServer, gql } = require('apollo-server-express');
18+
import { ApolloServer } from 'apollo-server-express';
19+
import { ApolloServerPluginDrainHttpServer } from 'apollo-server-core';
20+
import express from 'express';
21+
import http from 'http';
2022

21-
const typeDefs = gql`
22-
type Query {
23-
hello: String
24-
}
25-
`;
23+
async function startApolloServer(typeDefs, resolvers) {
24+
const app = express();
2625

27-
const resolvers = {
28-
Query: {
29-
hello: () => 'Hello world!',
30-
},
31-
};
26+
const httpServer = http.createServer(app);
3227

33-
const server = new ApolloServer({ typeDefs, resolvers });
28+
const server = new ApolloServer({
29+
typeDefs,
30+
resolvers,
31+
plugins: [ApolloServerPluginDrainHttpServer({ httpServer })],
32+
});
3433

35-
const app = express();
36-
server.applyMiddleware({ app });
34+
await server.start();
3735

38-
app.listen({ port: 4000 }, () =>
39-
console.log('Now browse to http://localhost:4000' + server.graphqlPath)
40-
);
36+
server.applyMiddleware({ app });
37+
38+
await new Promise(resolve => httpServer.listen({ port: 4000 }, resolve));
39+
40+
console.log(`🚀 Server ready at http://localhost:4000${server.graphqlPath}`);
41+
}
4142
```
4243

4344
Apollo Server also supports all Node.js HTTP server frameworks: Express, Connect, HAPI, Koa and NestJs.

0 commit comments

Comments
 (0)