构建GraphQL服务器(第三部分。将GraphQL模式外部化到文件中)

id: 72e2f090 的中文说出以下句子的意思,只需要一种选择:

1. Can you please pass me the salt?
请你给我递一下盐好吗?

2. I am sorry, but I cannot attend the meeting tomorrow.
非常抱歉,明天的会议我无法参加。

3. The book on the table belongs to me.
桌子上的书是我的。

4. She is studying Mandarin at university.
她正在大学学习汉语。

5. Would you like some coffee?
你想喝咖啡吗?

上次

 

这次要做的事情

GraphQLスキーマを外部ファイル化する

スキーマ読み込み

将GraphQL模式外部化为文件。

    .graphqlファイルを読み込むのに必要な依存をインストールします。
$ yarn add @graphql-tools/graphql-file-loader @graphql-tools/load @graphql-tools/schema
    src/schema.graphqlファイルを作成
type Book {
  title: String
  author: String
}

type Query {
  books: [Book]
}

type Mutation {
  addBook(title: String, author: String): Book
}

加载模式

import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
import { loadSchemaSync } from '@graphql-tools/load';
import { addResolversToSchema } from '@graphql-tools/schema';

const schema = loadSchemaSync('src/schema.graphql', {
  loaders: [new GraphQLFileLoader()],
});

()

const schemaWithResolvers = addResolversToSchema({ schema, resolvers });
const server = new ApolloServer({ schema: schemaWithResolvers });

const { url } = await startStandaloneServer(server, {
  listen: { port: 4000 },
});

console.log(`?  Server ready at: ${url}`);

下一次

GraphQLスキーマにもとづいたTypeScriptの型が自動生成

结束

参考:将GraphQL模式外部化

广告
将在 10 秒后关闭
bannerAds