typescript Graphql代码生成配置不加载带有Glob表达式的文档

vm0i2vca  于 2022-12-24  发布在  TypeScript
关注(0)|答案(2)|浏览(119)

我的API是用TypeScript/Apollo编写的,我可以在http://localhost:4000/graphql上运行查询/突变。我的前端是Next.js和Apollo客户端。我使用GraphQL Codegenerator生成我需要的客户端代码。
我正在使用:

"@graphql-codegen/cli": "1.20.1",
"@graphql-codegen/typescript": "1.20.2",
"@graphql-codegen/typescript-operations": "1.17.14",
"@graphql-codegen/typescript-react-apollo": "2.2.1",

我的codegen.yml文件是

overwrite: true
schema: "http://localhost:4000/graphql"
documents: "src/graphql/**/*.graphql"
generates:
  src/generated/graphql.tsx:
    plugins:
      - "typescript"
      - "typescript-operations"
      - "typescript-react-apollo"

更改API解析程序时运行的脚本是"gen": "graphql-codegen --config codegen.yml"
如果我运行这段代码,我会得到错误:

✖ src/generated/graphql.tsx
    Error: 
          Unable to find any GraphQL type definitions for the following pointers:
        
              - src/graphql/**/*.graphql

但如果将我的codegen.yml文件设置为如下所示,它就可以工作(我在其中一个组件中测试了一个查询,我可以访问数据):

overwrite: true
schema: "http://localhost:4000/graphql"
documents:
  - "src/graphql/fragments/RecipeSnippet.graphql"
  - "src/graphql/fragments/RegularError.graphql"
  - "src/graphql/fragments/RegularUser.graphql"
  - "src/graphql/fragments/RegularUserResponse.graphql"
  - "src/graphql/mutations/createRecipe.graphql"
  - "src/graphql/mutations/deleteRecipe.graphql"
  - "src/graphql/mutations/login.graphql"
  - "src/graphql/mutations/logout.graphql"
  - "src/graphql/mutations/register.graphql"
  - "src/graphql/mutations/updateRecipe.graphql"
  - "src/graphql/queries/me.graphql"
  - "src/graphql/queries/recipe.graphql"
  - "src/graphql/queries/recipes.graphql"
generates:
  src/generated/graphql.tsx:
    plugins:
      - "typescript"
      - "typescript-operations"
      - "typescript-react-apollo"

我不知道我到底做错了什么,更奇怪的是它曾经有效。我记得最近更新了我的deps。我看到并尝试了一些其他的答案,如this onethis one,但无济于事:(

lndjwyie

lndjwyie1#

经过一些尝试和错误,我结束了删除项目从我的电脑,拉它再次从回购,Yarn安装和Yarn发电机。

oxcyiej7

oxcyiej72#

我最近遇到了同样的问题。我改变了codegen.yml来解决这个问题。你可以尝试这样修改你的codegen.yml:我的API是用TypeScript/Apollo编写的,我可以在http://localhost:4000/graphql上运行查询/突变。我的前端是Next.js和Apollo客户端。我使用GraphQL Codegenerator生成我需要的客户端代码。
我正在使用:
"@图形-代码生成器/cli ":"1.20.1","@图形-代码生成器/ typescript ":"1.20.2","@图形-代码生成器/ typescript -操作":"1.17.14","@图形-代码生成器/ typescript -React-阿波罗":"2.2.1",我的codegen. yml文件是
覆盖:真模式:"http://localhost:4000/graphql"文档:"源代码/图形库/* /.图形库"生成:源代码/生成/图形ql.tsx:插件:-"typescript"-"typescript-operations"-"typescript-react-apollo"当我更改API解析器时运行的脚本是"gen":"图形-代码生成器--配置代码生成器. yml"
如果我运行这段代码,我会得到错误:
src/生成的/图形用户界面错误:找不到以下指针的任何GraphQL类型定义:

- src/graphql/**/*.graphql

但是,如果设置我的codegen.yml文件如下工作(我测试了一个组件中的查询,我可以访问数据):
覆盖:真模式:"http://localhost:4000/graphql"文档:

  • "源代码/图形ql/片段/配方代码片段.图形ql"
  • "源代码/图形ql/片段/常规错误.图形ql"
  • "源代码/图形数据库/片段/常规用户.图形数据库"
  • "源代码/图形数据库/片段/常规用户响应.图形数据库"
  • "源代码/图形数据库/突变/创建配方.图形数据库"
  • "源代码/图形库/突变/删除配方.图形库"
  • "源代码/图形数据库/突变/登录.图形数据库"
  • "源代码/图形数据库/突变/注销.图形数据库"
  • "源代码/图形数据库/突变/寄存器.图形数据库"
  • "源代码/图形库/突变/更新配方.图形库"
  • "源代码/图形数据库/查询/我.图形数据库"
  • "源代码/图形查询/配方.图形查询"
  • "源代码/图形库/查询/配方.图形库"生成:源代码/生成/:插件:
  • " typescript "
  • " typescript 操作"
  • " typescript -React-阿波罗"

相关问题