首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >此程序包已弃用,现在仅导出makeExecutableSchema

此程序包已弃用,现在仅导出makeExecutableSchema
EN

Stack Overflow用户
提问于 2021-08-16 05:33:36
回答 1查看 139关注 0票数 0

当我启动我的graphql服务器时,我收到如下错误:

代码语言:javascript
复制
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()

`

我的代码:

代码语言:javascript
复制
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');
})  

有谁能帮我理解这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-16 06:33:08

您不需要下面这一行,因为Apollo Server从typeDefs和解析器生成可执行模式。

代码语言:javascript
复制
const schema = makeExecutableSchema({ typeDefs, resolvers });

只需将类型定义和解析器作为

代码语言:javascript
复制
const apolloServer = new ApolloServer({ typeDefs, resolvers });

确保通过将typeDefs标记应用于有效的架构定义语言(SDL)字符串来生成传递给AppoloServer的gql。请参阅Step 3: Define your GraphQL schema

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68797797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档