如何告诉 apollo codegen 查找查询的确切文件
Posted
技术标签:
【中文标题】如何告诉 apollo codegen 查找查询的确切文件【英文标题】:How to tell apollo codegen to look for the exact files for the queries 【发布时间】:2020-04-01 01:09:56 【问题描述】:我的项目目录结构是这样的:
- 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
知道发生了什么吗?
【问题讨论】:
【参考方案1】:看起来我缺少包含参数中的引号。所以正确的做法是:
--includes='packages/types/src/graphql-types/*.ts'
来源:https://github.com/apollographql/apollo-tooling/issues/1367
【讨论】:
以上是关于如何告诉 apollo codegen 查找查询的确切文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Apollo Rover + Codegen 生成打字稿模式类型
从 graphql-codegen 获取类似于 apollo codegen 生成的类型
在客户端解析器中导入类型时,如何避免使用 Apollo 客户端和“graphql-codegen”的角度项目中的循环依赖?
Apollo 的检查并运行 apollo-codegen.sh 不起作用?