错误:解析器中定义了“userResolver”,但架构中没有
Posted
技术标签:
【中文标题】错误:解析器中定义了“userResolver”,但架构中没有【英文标题】:Error: "userResolver" defined in resolvers, but not in schema 【发布时间】:2020-02-24 23:03:19 【问题描述】:我在 graphQL 中的解析器有问题并收到此错误:
错误:“userResolver”在解析器中定义,但不在架构中
但是,我找不到错误。我已经在 Google 上搜索过,但目前没有找到任何解决方案。
我的要点: https://gist.github.com/peterklein/b063ee66871917cac120ae2ae263d002
有人能让我走上正轨吗?
【问题讨论】:
如果 ApolloServer 期望resolvers
是一个对象,那么该对象上的每个属性应该是什么?您在server.js
中导入的resolvers
对象是否符合此要求?
【参考方案1】:
来自Modularizing resolvers docs
我们可以通过传递多个解析器对象并将它们与 Lodash 的合并或其他等效项组合在一起来实现与解析器相同的模块化
您需要合并您的userResolver
和taskResolver
。
例如
server.js
:
const merge = require('lodash');
const ApolloServer = require('apollo-server-express');
const resolvers = require('./resolvers');
const typeDefs = require('./typeDefs');
// ...
const apolloServer = new ApolloServer(
typeDefs,
resolvers: merge(resolvers.taskResolver, resolvers.userResolver),
);
// ...
现在,apollo 服务器工作正常。
$ node server.js
Server listen on port: 3000
【讨论】:
以上是关于错误:解析器中定义了“userResolver”,但架构中没有的主要内容,如果未能解决你的问题,请参考以下文章