Javascript 无法从apollo server express获取函数

Javascript 无法从apollo server express获取函数,javascript,express,graphql,Javascript,Express,Graphql,我正在遵循教程并尝试启动节点服务器,但我无法将其从Apollo软件包导入函数 const {graphqlExpress, graphiqlExpress} = require('apollo-server-express'); // here i importing fucntions const bodyParser = require('body-parser'); // import parser const cors = require('cors'); // import cors

我正在遵循教程并尝试启动节点服务器,但我无法将其从Apollo软件包导入函数

const {graphqlExpress, graphiqlExpress} = require('apollo-server-express'); // here i importing fucntions
const bodyParser = require('body-parser'); // import parser
const cors = require('cors'); // import cors
const express = require('express'); // import cors
const { makeExecutableSchema } = require('graphql-tools');

const port = 9000; // define port

const schema = makeExecutableSchema({typeDefs, resolvers}); // init shcema

const app = express();
app.use(cors(), bodyParser.json());
app.use('/graphql', graphqlExpress({schema})); // is not a function
app.use('/graphiql', graphiqlExpress({endpointUrl: '/graphql'})); // is not a function
app.listen(port, () => console.log(`Server is running on the port ${port}`));

当我启动服务器时,如果由于“graphqlExpress不是一个函数”而失败,当它评论并重新启动服务器时,与graphiqlExpress相同。也许我下面的教程已经过时,apollo server express不再提供此类功能了?

apollo server 2.0引入了一些突破性的更改,旨在简化设置。文档中有一个描述这些更改的列表。如果您只需要一个GraphQL服务器,那么入门就可以这么简单:

const { ApolloServer, gql } = require('apollo-server');

const server = new ApolloServer({ typeDefs, resolvers });
server.listen()
请注意,上面只使用了阿波罗服务器包
apollo server express
如果您希望继续将apollo用作express中间件,而不是将apollo作为“独立”服务器运行,则仍然存在

新的API不再需要单独导入和实现额外的中间件,如
body parser
cors
。有关如何配置Apollo服务器实例的详细信息

const { ApolloServer, gql } = require('apollo-server-express');
const app = require('express')();

const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });
app.listen({ port: 3000 })