- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种在使用 GraphQL 时使开发人员工作流程更高效的方法。
目前,使用 graphql-code-generator
从前端的 GraphQL 服务器生成类型。
这很好,但这只是生成类型。为了生成突变、查询和订阅的方法,我需要为前端项目中的每个操作创建一个 GraphQL 文档,例如:
file addPost.graphql
mutation addPost {
...
}
...
我发现必须创建一个额外的
addPost.graphql
来生成该方法有点多余,因为它已经在我的 GraphQL 服务器上声明。
# graphql-generator.yml
overwrite: true
schema: https://localhost:8088/query
documents: ./libs/**/*.graphql <----- generating these *.graphql files would be great!
generates:
libs/graphql/src/lib/generated/graphql.ts:
plugins:
- "typescript"
- "typescript-resolvers"
- "typescript-operations"
- "typescript-apollo-angular"
./graphql.schema.json:
plugins:
- "introspection"
最佳答案
GraphQL 的核心概念之一是能够允许组件或任何其他消费者选择他们需要的字段,而不是由其他东西(后端开发人员/服务器/代码)来决定。
此外,基于 GraphQL 模式生成操作很棘手 - 由于图的性质,您无法在没有一组约束的情况下真正生成它(例如:要达到什么嵌套级别?如何处理循环链接?该怎么做?你在争论的情况下?如果架构改变怎么办?等等)
GraphQL Code Generator 没有这样做,因为我们认为使用 GraphQL 层的开发人员应该决定字段。
在我们开发的其他一些解决方案中,我们需要这样的工具来生成选择集,但有一些预定义的约束。此注释对其进行了总结并提供了用于生成这些的代码示例:https://github.com/dotansimha/graphql-code-generator/discussions/2349#discussioncomment-15754
如果您愿意,您可以将它们生成到一个文件中,然后将其提供给 codegen,或者您可以在您的项目中创建一个自定义文档加载器来动态创建它 (https://graphql-code-generator.com/docs/getting-started/documents-field#custom-document-loader)
关于typescript - 如何从 GraphQL 模式生成 GraphQL 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63436277/
我是一名优秀的程序员,十分优秀!