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

THp*_*ubs 1 apollo react-apollo apollo-client

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

- schema.graphql
- package.json
- packages
-- types
--- package.json
--- src
---- graphql-types
----- user.ts
----- generated
Run Code Online (Sandbox Code Playgroud)

现在在这里,schema.graphql包含从apollo client:download-schema. user.ts包含我这样的 graphql 查询:

- schema.graphql
- package.json
- packages
-- types
--- package.json
--- src
---- graphql-types
----- user.ts
----- generated
Run Code Online (Sandbox Code Playgroud)

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

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

export const CURRENT_USER = gql`
  query CurrentUser {
    currentUser {
      id
      name
    }
  }
`;
Run Code Online (Sandbox Code Playgroud)

我总是得到两个错误之一:

No operations or fragments found to generate code for.
Run Code Online (Sandbox Code Playgroud)

或者

zsh: no matches found: --includes=packages/types/src/graphql-types/**/*.ts
Run Code Online (Sandbox Code Playgroud)

知道发生了什么吗?

THp*_*ubs 5

看起来我缺少 include 参数中的引号。所以正确的做法是:

--includes='packages/types/src/graphql-types/*.ts'
Run Code Online (Sandbox Code Playgroud)

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