当我启动我的graphql服务器时,我收到如下错误:
This package has been deprecated and now it only exports makeExecutableSchema.
And it will no longer receive updates.
We recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.
Check out https://www.graphql-tools.com to learn what package you should use instead!
E:\Training\HandsOnTypescript\Chap9\graphql-schema\node_modules\apollo-server-core\dist\ApolloServer.js:273
throw new Error('You must `await server.start()` before calling `server.' +
^
Error: You must `await server.start()` before calling `server.applyMiddleware()`
我的代码:
import express from "express";
import { ApolloServer } from "apollo-server-express";
import { makeExecutableSchema } from '@graphql-tools/schema';
import typeDefs from "./typeDefs";
import resolvers from "./resolvers";
const app = express();
const schema = makeExecutableSchema({ typeDefs, resolvers });
const apolloServer = new ApolloServer({ schema, context: ({ req, res }: any) => ({ req, res }) });
apolloServer.applyMiddleware({ app, cors: false });
app.listen({ port: 8000 }, () => {
console.log('graphic server ready');
}) 有谁能帮我理解这个问题吗?
发布于 2021-08-16 06:33:08
您不需要下面这一行,因为Apollo Server从typeDefs和解析器生成可执行模式。
const schema = makeExecutableSchema({ typeDefs, resolvers });只需将类型定义和解析器作为
const apolloServer = new ApolloServer({ typeDefs, resolvers });确保通过将typeDefs标记应用于有效的架构定义语言(SDL)字符串来生成传递给AppoloServer的gql。请参阅Step 3: Define your GraphQL schema
https://stackoverflow.com/questions/68797797
复制相似问题