问题标签 [graphql-codegen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 找不到以下指针的任何 GraphQL 类型定义:src/**/*.graphql
我正在使用该@graphql-codegen/cli
工具从我的 graphql 服务器生成打字稿类型。这是我的codegen.yml
内容:
这是package.json
我用来生成类型的脚本 ( yarn schema
):
所有这些都是通过执行 cli 向导自动生成的yarn codegen init
。
但是当我运行时yarn schema
,这些是我得到的错误:
(服务器正在积极运行http://localhost:3001/graphql
并公开图形模式。
感谢您的帮助和建议
这是托管在我的服务器中的 .graphql 文件(http://localhost:3001/graphql
typescript - 使用 Hasura graphql 模式时如何自定义 graphql-code-generator 生成的字段的类型
我想覆盖由 Hasura 生成的 graphql 模式中特定字段的 jsonb 类型,并通过 graphql-code-generator 运行。
我有一个customList
jsonb 类型的字段。ths 用于包含一个 json 对象数组。当使用带有 TypeScript 插件的 graphql-code-generator 时,生成的类型解析为any
. 我试图弄清楚如何仅使用该特定字段的自定义类型来覆盖它。
下面的片段显示了 graphql 模式的相关部分,以及目标 graphql 类型覆盖。到目前为止,我尝试过的一切都会导致代码生成错误
GraphQl 模式
目标覆盖类型
谢谢你的帮助!
angular - angular 的 Apollo 客户端:从 graphql 文件生成代码
我从这里了解了angular graphql 代码生成器。我正在尝试在我的项目中使用它来生成 angular 的 graphql 类型和服务。Query
我的 codegen.yml 文件如下所示。
我有一个apps\myGraphQLApp\src\gqls\myBooks.graphql
包含以下内容的 graphql 文件
我正在运行npx graphql-codegen --config codegen.yml
,它失败并出现以下错误。
我的 graphql 服务器肯定公开了一个查询根,我可以用不同的客户端调用它。
我不确定我做错了什么。任何帮助将不胜感激。
typescript - 将类型分配给作为 Maybe 类型的嵌套类型的属性
graphql-codegen
我正在尝试将由该工具生成的类型分配给属性。我要分配的类型是嵌套类型。给定以下类型:
我需要能够做到:
但是,我遇到的问题是 of 的类型someKey
是一种Maybe
类型,因此 Typescript 抱怨该类型没有someNestedKey
属性<Maybe { __typename?: "OtherType" | ...} & { someNestedKey: (...)[] }>
(即 of 的类型someKey
)。
在 Typescript 中,您可以使用该!
方法来声明您确定知道在这种情况下联合undefined
和/或null
确实存在的类型的属性值。分配类型时有没有办法做类似的事情?
由于我使用的是该graphql-codegen
工具,因此我无法控制这些类型。
graphql - 直接通过 apollo-codegen 执行操作,无需命名
我正在使用带有 apollo 的 graphql-codegen 从打字稿中使用 graphql api。现在我必须以 1:1 的比例准确地复制很多 graphql 操作才能生成一些代码。例子:
那么是否有可能以某种方式signUp
直接调用而不是将其包装在自定义突变中?我知道 graphql 要求我指定我想要的字段作为回报,但 codegen 可以自动将所有已知字段放在那里。
graphql - graphql-codegen 没有与配置文件一起运行
在我的package.json
文件中,我有运行graphql-codegen
的脚本条目,但它抱怨--config
参数无效:
因为我相信默认文件名是codegen.yml
无论如何,我尝试在没有该参数的情况下运行它并且没有生成任何内容:
有任何想法吗?
reactjs - 使用 typescript 和 graphQL 反应模态容器模式
Spectrum 对模态使用特定模式,我想用 typescript、graphQL 和 graphQL-codegen 生成的钩子来复制这些模式。
现在我目前拥有的:
- GraphQL 客户端架构
- GraphQL 查询
graphql-codegen 使用上面的代码来生成下面使用的类型安全查询钩子。
给定的模态声明如下所示
我是这个 typed 和 graphQL 世界的新手,我觉得它可以做得更好——尤其是我必须使用 switch case 语句而不是原始对象。有什么方法可以保持 ModalType 和 ModalPropsType 之间的耦合吗?并且as
在 ModalProps 上进行强制转换后代码仍然安全吗?
graphql - 如何在 typescript/javascript 导出中使用字符串模板处理模式 graphql-codegen
我正在使用graphql-codegen
为给定模式生成打字稿类型文件。
一切都很好,除非导出方案中有字符串模板,它会抱怨语法并且似乎不会编译它。检查以下文件以获取更多详细信息。
types.js
如下:
配置 yml 文件是:
运行时yarn graphql:codegen
,它会抱怨以下内容:
看起来graphql-codegen
不喜欢模板字符串,例如:${Colors.join('\n')}
。
另请查看包含上述所有文件的repo。
任何人都可以帮助修复?谢谢。
typescript - 为什么这些类型不兼容?
我有一个像这样的值类型:
查询结果类型(生成的 apollo 钩子)如下:
我正在尝试将此查询结果传递给函数:
出于某种原因,TypeScript 说这些类型是不兼容的。我的函数调用:
打字稿错误:
有人可以帮我理解这些类型有什么问题吗?我知道这as Value[]
可以解决问题,但我不知道为什么。
graphql - GraphQL 代码生成器 - 无法从 Nestjs 服务器端点加载我的 GQL 架构
我在 Angular 应用程序上使用graphQL 代码生成器,我正在尝试从本地 nestjs 应用程序加载我的模式。
这是 codegen.yml 文件:
当我运行 graphql-codegen 时,我收到以下错误:
当我记录响应时,我看到它试图解析以下内容,这解释了错误:
如果我在 index.cjs.cs 中挖掘,并记录生成的 POST 正文和响应,我会得到:
身体:
回复:
如果我的端点不正确,那将是有道理的,但是如果我在邮递员中尝试该确切请求,我确实会得到一个有效的响应:
关于为什么会这样的任何想法?还有什么我可以检查的吗?
谢谢