如何从GraphQLSchema javascript对象获取.graphql文件?

问题描述 投票:1回答:2

我正在使用graphql-js创建一个新的graphQL模式,但不会通过http来提供,它将被用作本地graphql服务。我需要以json格式获取此graphql的模式,以将其与另一个模式合并。我一直在使用get-graphql-schema从服务器获取模式,但这不适用于我的情况。

我想要的是获取json与我在GraphQLSchema之后获得的new GraphQLSchema({ query, mutation });对象的模式

我确信这很简单,但我有点困惑。谢谢!

javascript graphql relayjs graphql-js
2个回答
1
投票

由于您需要本地创建的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对象,因此您可以跳过前两个步骤并打印架构。


0
投票

您可以在localhost graphql server上使用get-graphql-schema

© www.soinside.com 2019 - 2024. All rights reserved.