来自 GraphQLObjectType 模式的 graphql mergeSchemas
Posted
技术标签:
【中文标题】来自 GraphQLObjectType 模式的 graphql mergeSchemas【英文标题】:graphql mergeSchemas from GraphQLObjectType schemas 【发布时间】:2019-08-19 11:48:52 【问题描述】:我是 graphql 的新手,所以我遇到了一些问题。 基于 nodeJS 的服务器,带有 express 包。我正在用 GraphQLObjectType 表示法为 Apollo Graphql 编写模式。 当我想将两个模式合并为一个时,我使用 graphql-tools npm 包中的 mergeSchemas 方法,并在合并时遇到了一些错误。谁能指出我做错了什么?
const mergeSchemas = require('graphql-tools');
const GraphQLSchema = require('graphql');
const queryType = require('./queryType');
const eventMutations = require('./eventMutations');
const userMutations = require('./userMutations');
const mutationType = mergeSchemas(
schemas: [eventMutations, userMutations],
);
module.exports = new GraphQLSchema(
query: queryType,
mutation: mutationType,
);
每一个eventMutations,userMutations都是GraphQLObjectType
错误是:
Invalid schema passed
在
mergeSchemas(...
有什么想法吗?
【问题讨论】:
【参考方案1】:问题是我想合并 GraphQLObjectType 但不是真正的 GraphQLSchema。 因此解决方案是为用户和事件创建 GraphQLSchema,然后将它们完美地合并在一起。
【讨论】:
以上是关于来自 GraphQLObjectType 模式的 graphql mergeSchemas的主要内容,如果未能解决你的问题,请参考以下文章
错误:无法使用来自另一个模块或领域的 GraphQLObjectType“__Directive”
如何将 GraphQLObjectType 与 graphql-tag 和 gql-tag 创建的模式结合起来?
如何为 GraphQLObjectType 的 GraphQLList 定义 Relay 片段?