【问题标题】:How to generate TypeScript definitions for graphql如何为 graphql 生成 TypeScript 定义
【发布时间】:2019-03-30 11:48:17
【问题描述】:

我有一个基于 create react app 和 TypeScript 的 react 应用程序。我想用 Apollo graphql 客户端替换 redux。我使用字符串模板在 .graphql 文件和/或 gql-Tag 中定义查询。我希望来自 apollo 查询组件的结果/数据是强类型的,我该怎么做?无需自己编写接口和类型,我希望它们能够生成????

【问题讨论】:

    标签: reactjs graphql apollo apollo-client


    【解决方案1】:

    有一个很好的工具叫做Apollo codegen,它是apollo-cli的一部分。

    查看他们的文档:https://github.com/apollographql/apollo-cli#apollo-codegengenerate-output

    生成 TypeScript 定义的示例如下:

    • 下载服务器的架构:

    apollo schema:download .schema/graphql.json --endpoint=http://localhost:4000/

    • 为您的查询生成类型:

    apollo codegen:generate --schema=.schema/graphql.json --addTypename --target=typescript --queries=src/**/*.{tsx,ts} --outputFlat=src/queries

    【讨论】:

    • 我实际上并没有让 apollo codegen 工作.. 文档非常过时,我最终调试了 apollo codegen,但最终放弃了.. 找到了另一个库:graphql-code-generator终于奏效了:-)我正在使用ApolloClient,这真的很棒!但无法弄清楚 apollo-cli。实际上 graphql-code-generator 也有一个 Apollo 模板 :-)
    • 好的,太好了!我也会看看那个'graphql-code-generator' :)
    猜你喜欢
    • 2019-11-12
    • 2020-11-26
    • 2021-03-28
    • 1970-01-01
    • 2021-01-25
    • 2020-10-16
    • 2017-08-04
    • 2020-02-29
    • 2020-02-13
    相关资源
    最近更新 更多