微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React Native 上的 GraphQL Apollo 类型生成

如何解决React Native 上的 GraphQL Apollo 类型生成

我正在使用

  • Neo4J 4.2
  • 阿波罗服务器
  • GraphQL & @neo4j/graphql(从 schema.graphql 生成 Neo4J 类型)
  • Expo React Native + Apollo 客户端
  • 打字稿

我想按照 this tutorial 为 GraphQL 查询生成 TS 类型。

By default apollo-cli 将在 ./src 文件夹中查找,但在 React Native 中我没有这样的文件夹,它都在 root 中。因此,当我尝试像这样更改 apollo 客户端的 includes 配置时:

<root>/apollo.config.js

module.exports = {
  client: {
    includes: ['**/*.{ts,tsx}'],},};

运行

> apollo codegen:generate --endpoint=http://localhost:4001/ --target=typescript --tagName=gql

结果:

Error: Error initializing Apollo GraphQL project "Unnamed Project": Error: Error in "Loading queries for Unnamed Project": Error: ️️There are multiple deFinitions for the `OpName` operation. Please rename or remove all operations with the duplicated name before continuing.

解决方法

几个小时后,我使用以下配置解决了这个问题:

module.exports = {
  client: {
    includes: ['graphql/**/*.ts'],},};

我的猜测是 apollo-cli 在所有 React Native 生成​​的代码中发现了一些 gql 标签。

附言我尝试使用特定的关键字,以便 Google 将这个结果显示给遇到同样问题并被卡住的人。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。