如何告诉 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
我的项目目录结构是这样的:
- 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