我正在使用 graphql-js 创建一个新的 graphQL 模式但不会通过 http 提供服务,而是将用作本地 graphql 服务。我需要以 json 格式获取此 graphql 的架构,以将其与另一个架构合并。我一直用get-graphql-schema从服务器获取架构,但这在我的情况下不起作用。
我想要的是从 GraphQLSchema
获取具有架构的 json make new GraphQLSchema({ query, mutation });
后获得的对象
我确信这很简单,但我有点坚持这一点。谢谢!
最佳答案
由于您想要本地创建的 GraphQLSchema 对象中的 .graphql 文件,因此您可以使用 printSchema 打印它,然后将其写入文件
import { printSchema } from 'graphql';
import Query from './Query';
import fs from 'fs';
const schema = new GraphQLSchema({
query: Query
});
const fileData = printSchema(schema);
fs.writeFile('/path/to/schema.graphql', fileData, error => {
// handle error
});
get-graphql-schema
包只能与 graphql-server
端点一起使用。该包首先发送内省(introspection)查询以获取 JSON 表示,然后使用 graphql-js 重建客户端(不可执行)模式
然后,buildClientSchema
使用 printSchema
最终输出可放入 .graphql 文件中的架构语言表示形式。由于您已经在本地拥有 GraphQLSchema 对象,因此您可以跳过前 2 个步骤并打印架构。
关于javascript - 如何从 GraphQLSchema javascript 对象获取 .graphql 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47743498/