問題タブ [graphql-codegen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphql - GraphQL コード生成 React Hooks + Typescript (graphql-codegen)
現在、graphql-codegen
React Hooks を生成して GraphQL サーバーにクエリを実行するために使用しています。
現在 2 つのエンドポイントがある場合、次のように分割します。
これが意味することは、ServiceB に到達するたびにその serviceName コンテキスト変数を提供する必要があるということです。
2 つの呼び出しgraphql-codegen
(独自のスキーマ/設定を持つ Service ごとに 1 つ) がある場合baseOptions
、正しいコンテキストで を自動的に追加する方法があります。
それ以外の場合は、これを続ける必要があります。
しかし、コンテキストにデフォルトがあり、これを実行しただけの方がいいでしょう:
基本的に問題は、graphql-codegen を介して生成されたコードのデフォルト コンテキストを使用できるかどうかです。
graphql - 別の名前のクエリルートが予想される場合、Hasura で graphql-code-generator を使用するにはどうすればよいですか?
typeの下のHasuraグループ クエリquery_root
によって発行されたスキーマ。しかし、graphql-codegen
それらが という名前のタイプの下にグループ化されていることを期待していますQuery
。人々はそのギャップをどのように埋めますか?
node.js - Apollo Server が本番モードのときに、graphql-codegen を使用して React の Graphql タイプを生成する方法は?
バックエンド モードをNODE_ENV: development
all に設定すると問題なく動作しますが、プロダクション モードでは graphql-codegen がエラーで失敗します。
ローカル Web サーバー エラー:
GraphQL イントロスペクションは Apollo サーバーでは許可されていませんが、クエリに _schema または _type が含まれていました。イントロスペクションを有効にするには、本番環境で introspection: true を ApolloServer に渡します。
本番 Web サーバー エラー:
https://example.com/graphqlからスキーマを読み込めませんでした。理由: 最初の証明書を検証できません。GraphQL コード ジェネレーターは以下をサポートしています。
- ES モジュールと CommonJS エクスポート (デフォルトまたは名前付きエクスポート「スキーマ」としてエクスポート)
- イントロスペクション JSON ファイル
- GraphQL エンドポイントの URL
- タイプ定義 (グロブ式) を持つ複数のファイル
- 設定ファイルの文字列
フロントエンド codegen.yml:
フロントエンド devDependencies:
npm スクリプト:
.gitignoreに追加された ./src/generated/ ディレクトリ