要使用Apollo Server 2.x作为Express中间件,可以按照以下步骤进行设置:
npm install apollo-server-express express
const express = require('express');
const { ApolloServer } = require('apollo-server-express');
const app = express();
const server = new ApolloServer({ /* Apollo Server 配置项 */ });
server.applyMiddleware({ app });
const { gql } = require('apollo-server-express');
const typeDefs = gql`
type Query {
hello: String
}
`;
const resolvers = {
Query: {
hello: () => 'Hello, world!'
}
};
const server = new ApolloServer({
typeDefs,
resolvers
});
app.listen({ port: 3000 }, () =>
console.log(`Server ready at http://localhost:3000${server.graphqlPath}`)
);
完整示例代码如下:
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');
const app = express();
const typeDefs = gql`
type Query {
hello: String
}
`;
const resolvers = {
Query: {
hello: () => 'Hello, world!'
}
};
const server = new ApolloServer({
typeDefs,
resolvers
});
server.applyMiddleware({ app });
app.listen({ port: 3000 }, () =>
console.log(`Server ready at http://localhost:3000${server.graphqlPath}`)
);
现在,您已经成功设置了Apollo Server 2.x作为Express中间件。您可以通过访问"http://localhost:3000/graphql"来查看GraphQL Playground,并执行查询。