gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:53:35 25 4
gpt4 key购买 nike

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

我想要的是从我在 make new GraphQLSchema({ query, mutation }); 之后获得的 GraphQLSchema 对象获取带有模式的 json。 p>

我确信这很简单,但我有点坚持。谢谢!

最佳答案

由于您需要本地创建的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com