id: 72e2f090
前回
今回やること
- GraphQLスキーマを外部ファイル化する
- スキーマ読み込み
GraphQLスキーマを外部ファイル化する
- .graphqlファイルを読み込むのに必要な依存をインストールします。
bash
$ yarn add @graphql-tools/graphql-file-loader @graphql-tools/load @graphql-tools/schema
- src/schema.graphqlファイルを作成
schema.graphql
type Book {
title: String
author: String
}
type Query {
books: [Book]
}
type Mutation {
addBook(title: String, author: String): Book
}
スキーマ読み込み
index.ts
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の型が自動生成
EOF
参考: GraphQLスキーマを外部ファイル化する