打印 Schema
GraphQL 强大的一点是,GraphQL Schema 可以用来描述服务端所有的 API。
从 Schema 生成文件
我们可以使用来自 graphql
包的 printSchema
函数来打印出 Schema。
import { weave } from "@gqloom/core"
import { printSchema, lexicographicSortSchema } from "graphql"
import { HelloResolver } from "./resolvers"
import * as fs from "fs"
const schema = weave(HelloResolver)
const schemaText = printSchema(lexicographicSortSchema(schema))
if (process.env.NODE_ENV === "development") {
fs.writeFileSync("schema.graphql", schemaText)
}
上面的代码会生成一个 schema.graphql
文件,其中包含 Schema 的所有内容。
使用 GraphQL Schema
GraphQL Schema 可以用于很多用途,常见的用途包括: