如何告诉 apollo codegen 为查询查找确切的文件

How to tell apollo codegen to look for the exact files for the queries

我的项目目录结构是这样的:

- schema.graphql
- package.json
- packages
-- types
--- package.json
--- src
---- graphql-types
----- user.ts
----- generated

现在,schema.graphql 包含从 apollo client:download-schema 下载的架构。 user.ts 包含我的 graphql 查询,如下所示:

export const CURRENT_USER = gql`
  query CurrentUser {
    currentUser {
      id
      name
    }
  }
`;

现在的问题是,我需要为这个查询生成类型定义,而 apollo codegen 命令只会选择文件,如果我在代码生成命令中添加文件的确切路径,如下所示:

我想告诉生成器搜索那里的所有 ts 文件。我尝试了以下但都失败了:

yarn run apollo codegen:generate --target=typescript --tagName=gql --addTypename --includes=packages/types/src/graphql-types/**/*.{ts,tsx,js,jsx,graphql} --localSchemaFile=schema.graphql --globalTypesFile=packages/types/src/graphql-types/generated/graphql-global-types.ts --outputFlat packages/types/src/graphql-types/generated/

yarn run apollo codegen:generate --target=typescript --tagName=gql --localSchemaFile=schema.graphql --addTypename --includes=packages/types/src/graphql-types/**/*.ts --globalTypesFile=packages/types/src/graphql-types/generated/graphql-global-types.ts --outputFlat packages/types/src/graphql-types/generated/

yarn run apollo codegen:generate --target=typescript --tagName=gql --localSchemaFile=schema.graphql --addTypename --includes=packages/types/src/graphql-types --globalTypesFile=packages/types/src/graphql-types/generated/graphql-global-types.ts --outputFlat packages/types/src/graphql-types/generated/ 

我总是遇到以下两个错误之一:

No operations or fragments found to generate code for.

zsh: no matches found: --includes=packages/types/src/graphql-types/**/*.ts

知道发生了什么吗?

我好像在 includes 参数中遗漏了引号。所以正确的做法是:

--includes='packages/types/src/graphql-types/*.ts'

来源:https://github.com/apollographql/apollo-tooling/issues/1367