如何从 GraphQLSchema javascript 对象获取 .graphql 文件?
how to obtain .graphql file from GraphQLSchema javascript object?
我正在使用 graphql-js but is not going to be served through http, is going to be used as a local graphql service. I need to obtain the schema for this graphql in json format to merge it with another schema. I have been using get-graphql-schema 创建一个新的 graphQL 模式以从服务器获取模式,但这在我的情况下不起作用。
我想要的是从我在 make new GraphQLSchema({ query, mutation });
之后获得的 GraphQLSchema
对象中获得带有架构的 json
我相信这很简单,但我有点坚持。谢谢!
您可以在本地主机 graphql 服务器上使用 get-graphql-schema。
因为你想要一个来自本地创建的 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
端点一起使用。该包首先发送内省查询以获取 JSON 表示,然后使用 graphql-js
重建客户端(不可执行)模式
buildClientSchema
然后使用 printSchema
最终输出可以放在 .graphql 文件中的模式语言表示。由于您已经在本地拥有 GraphQLSchema
对象,因此您可以跳过前 2 个步骤并打印架构。
我正在使用 graphql-js but is not going to be served through http, is going to be used as a local graphql service. I need to obtain the schema for this graphql in json format to merge it with another schema. I have been using get-graphql-schema 创建一个新的 graphQL 模式以从服务器获取模式,但这在我的情况下不起作用。
我想要的是从我在 make new GraphQLSchema({ query, mutation });
GraphQLSchema
对象中获得带有架构的 json
我相信这很简单,但我有点坚持。谢谢!
您可以在本地主机 graphql 服务器上使用 get-graphql-schema。
因为你想要一个来自本地创建的 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
端点一起使用。该包首先发送内省查询以获取 JSON 表示,然后使用 graphql-js
重建客户端(不可执行)模式
buildClientSchema
然后使用 printSchema
最终输出可以放在 .graphql 文件中的模式语言表示。由于您已经在本地拥有 GraphQLSchema
对象,因此您可以跳过前 2 个步骤并打印架构。