我正在使用graphql-codegen
库中的typescript-operations。但我来自阿波罗弃用的代码生成器,喜欢他们导出类型的方式。
对于这样的查询
query MyData {
viewer {
id
username
}
}
我会从apollo-tooling codegen得到这个:
export type MyDataQuery_viewer = {
__typename: 'Viewer';
id: number;
username: string;
}
export type MyDataQuery = {
__typename: 'Query',
viewer?: MyDataQuery_viewer;
}
但在graphql-codegen中,我得到的是:
export type MyDataQuery = {
__typename: 'Query',
viewer?: {
__typename: 'Viewer';
id: number;
username: string;
};
}
graphql-codegen
是否存在任何配置,可以为我提供所有嵌套对象的类型,而不是将所有内容定义在单个类型中?
1条答案
按热度按时间x7yiwoj41#
graphql-codegen默认情况下会为片段生成单独的类型,所以这就是我解决这个问题的方法:
会产生
您可以在代码中使用
ViewerFieldsFragment
。如果需要,可以使用operations
插件的omitOperationSuffix配置选项(typescript-operations
插件在幕后使用)更改Fragment
后缀。