错误:使用约束时 Graphql 瑜伽中的指令约束

Posted

技术标签:

【中文标题】错误:使用约束时 Graphql 瑜伽中的指令约束【英文标题】:Error: Directive constraint in Graphql yoga when using constraints 【发布时间】:2019-09-28 09:29:43 【问题描述】:

我正在使用带有 Prisma 的 Graphql 服务器。但是当我尝试运行代码时出现此错误 我正在使用

const  GraphQLServer  = require('graphql-yoga')
const  prisma  = require('./generated/prisma-client')  

这是错误

Error: Directive constraint: Couldn't find type constraint in any of the schemas.
at collectDirective (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:113:23)
at Array.forEach (<anonymous>)
at collectNode (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:105:25)
at D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:87:13
at Array.forEach (<anonymous>)
at collectNewTypeDefinitions (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:86:30)
at Object.completeDefinitionPool (D:\project\Starter\server\node_modules\graphql-import\dist\definition.js:23:41)
at Object.importSchema (D:\project\Starter\server\node_modules\graphql-import\dist\index.js:99:67)
at mergeTypeDefs (D:\project\Starter\server\node_modules\graphql-yoga\dist\index.js:420:37)
at new GraphQLServer (D:\project\Starter\server\node_modules\graphql-yoga\dist\index.js:95:34)

我试图从数据模型中删除约束,但错误仍然存​​在

@constraint(
   maxLength:650,
   minLength:20
   )

有没有人遇到相同或类似的错误? 谢谢

【问题讨论】:

【参考方案1】:

我找到了解决这个问题的方法 最后这是一个打字问题,该指令未声明,因此 graphql-yoga 无法识别,因此我在包含所有实体声明的 schema.graphql 文件中添加了该指令的声明,并且它起作用了

directive @constraint(
  maxLength:Int!
) on FIELD_DEFINITION

所以这里graphql-yoga可以找到指令。 希望对你有帮助 我不知道它是如何从内部工作的,但它解决了我的问题

【讨论】:

以上是关于错误:使用约束时 Graphql 瑜伽中的指令约束的主要内容,如果未能解决你的问题,请参考以下文章

瑜伽graphql服务器+棱镜服务器:多租户

无法满足约束时如何识别调试区域中的视图?

检查 ms 访问中的约束

仅当样式设置为“滚动”时 UIPageViewController 中的约束异常

javascript 你好世界graphql瑜伽

javascript graphql瑜伽,简单的待办事项