GraphQL 响应错误“未定义 URLSearchParams”

Posted

技术标签:

【中文标题】GraphQL 响应错误“未定义 URLSearchParams”【英文标题】:GraphQL response ERROR "URLSearchParams is not defined" 【发布时间】:2019-01-19 07:46:03 【问题描述】:

这些是我正在使用的依赖项

"dependencies": 
"express": "^4.16.3",
"express-graphql": "^0.6.12",
"graphql": "^0.13.2",
"lodash": "^4.17.10"

这是我的schema.js 文件的样子

这是我的server.js 文件中的代码

我收到此错误

【问题讨论】:

复制/粘贴错误 ;) 可能需要像 return _.find(user, id:args.id); 这样的东西 - 你可以在没有 lodash 的情况下在数组中找到元素 可能你的浏览器不支持URLSearchParamscaniuse.com/#search=URLSearchParams 感谢@xadm,你是对的,我使用了 'URLSearchParams 而不是 'user' 问题解决了 【参考方案1】:

我也面临同样的问题。以下是我设法修复它的方法:

const  URLSearchParams  = require('url');
global.URLSearchParams = URLSearchParams;

【讨论】:

【参考方案2】:

lodash 库查找方法的第一个参数是数据源。所以URLSearchParam 输入错误。请注意某些 IDE 提供的自动完成功能。因此它们可能会在您键入时填写不正确的数据。

使用好的 javascript linter 可以指出这个问题。我推荐 eslint。

在这种情况下,数据源是变量users,所以用用户替换URLSearchParam解决了这个问题。

【讨论】:

以上是关于GraphQL 响应错误“未定义 URLSearchParams”的主要内容,如果未能解决你的问题,请参考以下文章

GraphQL 响应错误“未定义 URLSearchParams”

中继/ graphql:可为空的响应或捕获查询错误的方法

嵌套查询/解析器时的 GraphQL.js 订阅响应错误

通过删除错误字段来优化 GraphQL 响应可能吗?

GraphQL - 突变响应后的自定义错误消息

来自 DRF 序列化程序的 GraphQL 响应错误消息