GraphQL Pages Plugin は、application/json と application/graphql の POST リクエストに応答する GraphQL サーバーを作成します。GET リクエストには GraphQL Playground ↗ を返します。
npm i @cloudflare/pages-plugin-graphqlyarn add @cloudflare/pages-plugin-graphqlpnpm add @cloudflare/pages-plugin-graphqlbun add @cloudflare/pages-plugin-graphqlimport graphQLPlugin from "@cloudflare/pages-plugin-graphql";
import {
graphql,
GraphQLSchema,
GraphQLObjectType,
GraphQLString,
} from "graphql";
const schema = new GraphQLSchema({
query: new GraphQLObjectType({
name: "RootQueryType",
fields: {
hello: {
type: GraphQLString,
resolve() {
return "Hello, world!";
},
},
},
}),
});
export const onRequest: PagesFunction = graphQLPlugin({
schema,
graphql,
});この Plugin が公開するルートは 1 つだけです。マウントした場所で利用できます。上の例では functions/graphql.ts にマウントしているため、Pages プロジェクトの /graphql でサーバーを利用できます。