フロントエンドはどのようにして GraphQL API を呼び出しますか?
# GraphQL は、API のクエリ言語であると同時に、データをクエリするためのランタイムでもあります。 GraphQL は API 内のデータの完全でわかりやすい説明を提供するため、クライアントは冗長性を持たずに必要なデータを正確に取得できます。
GraphQL には、開発者が GraphQL サーバーを構築できるように、さまざまな言語のサーバー側実装が用意されています。 (推奨学習: フロントエンド ビデオ)
また、gq-loader は Webpack プラグインであり、フロントエンド プロジェクトのクライアント側実装と考えることができます。目的は、フロントエンド開発を支援することです。これにより、学生が GraphQL API を呼び出すことが容易になります。これにより、フロントエンド開発者は、通常の JS モジュールと同じくらい簡単に GraphQL を使用できるようになります。フロントエンド開発者は、 をインポートできるようになります。 import または require を通じて js ファイル内の gql および .graphql ファイルを直接呼び出します。
また、#import 構文を使用した、フラグメントなどの他の .gql ファイルのインポートもサポートしています。
#import には、#require と #include という 2 つのエイリアスも用意されており、これら 2 つのエイリアスの使用法と動作は #import とまったく同じです。
インストール
npm install gq-loader --save-dev
または
yarn add gq-loader
基本的な使用方法
他のものと同様ローダーも同様です。まず、webpack.config.js
{ test: /\.(graphql|gql)$/, exclude: /node_modules/, use: { loader: 'gq-loader' options: { url: 'Graphql Server URL' } } }
に gq-loader の設定を追加します。次に、.gql ファイルを js ファイルにインポートして使用します。たとえば、すでに動作している Graphql サーバーがあると仮定すると、まずユーザーをクエリできる getUser.gql を作成します
#import './fragment.gql' query MyQuery($name: String) { getUser(name: $name) ...userFields } }
ご覧のとおり、この例では #import.gql を通じて別の .gql ファイル フラグメントを参照しています。ファイルに返されるユーザーのフィールド情報を記述し、さまざまな場所で「再利用」できるようにします。また、このファイルも作成します
fragment userFields on User { name age }
わかりました。js ファイルに getUser.gql を直接インポートできます。
import getUser from './getUser.gql'; import React from 'react'; import ReactDOM from 'react-dom'; async function query() { const user = await getUser({ name: 'bob' }); console.log('user', user); } function App() { return <button onClick={query}>click</button>; } ReactDOM.render(<App />, document.getElementById('root'));
getUser を呼び出すとき、変数を関数パラメータとして GraphQL に渡すことができます。これらの変数はクエリ パラメータです。
カスタム リクエスト
デフォルトの gq-loader は、graphql リクエストを完了するのに役立ちますが、シナリオによっては、必要に応じてすべてのリクエストを自分で制御したい場合があります。 request 属性を使用してリクエストを「カスタマイズ」することもできます。例を見てください。最初にローダー設定を少し変更する必要があります
{ test: /\.(graphql|gql)$/, exclude: /node_modules/, use: { loader: 'gq-loader' options: { url: 'Graphql Server URL', //指定自动请求模块路径 request: require.resolve('your_request_module_path'); } } }
your_request_module_path にカスタム リクエスト モジュールのパスを入力すると、gq-loader が実行します対応する Request モジュールを自動的にロードして使用します。モジュールは「リクエスト関数」を変更するだけで済みます。次のカスタム例を参照してください。
onst $ = require('jquery'); //url 是要请求的 GraphQL 服务地址 //data 是待发送的数据 //options 是自定义选项 module.exports = function(url, data, options){ //如果有需要还可以处理 options return $.post(url, data); };
このうち、options は、 をインポートした後の「関数の 2 番目のパラメーター」です。 gql ファイルは、たとえば次のようになります オプションパラメータを渡します
import getUser from './getUser.gql'; async function query() { const options = {...}; const user = await getUser({ name: 'bob' }, options); console.log('user', user); }
gq-loader の拡張子にどのような値が設定されていても、js でインポートするときに拡張子を省略できないことに注意してください。 .gql ファイルのインポートと他の .gql ファイルにのみ適用されます
以上がフロントエンドはどのようにして GraphQL API を呼び出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

Vue.js は、今日のフロントエンド開発において非常に人気のあるフレームワークとなっています。 Vue.js が進化し続けるにつれて、単体テストの重要性がますます高まっています。今日は、Vue.js 3 で単体テストを作成する方法を検討し、いくつかのベスト プラクティスと一般的な問題と解決策を提供します。

ファイル モジュールは、ファイルの読み取り/書き込み/開く/閉じる/削除の追加など、基礎となるファイル操作をカプセル化したものです。ファイル モジュールの最大の特徴は、すべてのメソッドが **同期** と ** の 2 つのバージョンを提供することです。 asynchronous**、sync サフィックスが付いているメソッドはすべて同期メソッドであり、持たないメソッドはすべて異種メソッドです。

クロスドメインは開発においてよく遭遇するシナリオであり、インタビューでもよく議論される問題でもあります。一般的なクロスドメイン ソリューションとその背後にある原則を習得すると、開発効率が向上するだけでなく、面接でのパフォーマンスも向上します。

PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ 今日のインターネットの急速な発展の時代において、フロントエンド開発はますます重要になっています。 Web サイトやアプリケーションのエクスペリエンスに対するユーザーの要求がますます高まっているため、フロントエンド開発者は、より効率的で柔軟なツールを使用して、応答性の高いインタラクティブなインターフェイスを作成する必要があります。フロントエンド開発の分野における 2 つの重要なテクノロジーである PHP と Vue.js は、組み合わせることで完璧なツールと見なされます。この記事では、PHP と Vue の組み合わせと、読者がこれら 2 つをよりよく理解し、適用できるようにするための詳細なコード例について説明します。

当初、JS はブラウザ側でのみ動作していたため、Unicode でエンコードされた文字列の処理は簡単でしたが、バイナリ文字列や非 Unicode エンコード文字列の処理は困難でした。バイナリは、コンピュータのビデオ/オーディオ/プログラム/ネットワーク パッケージの最低レベルのデータ形式です。

インターネット技術の発展に伴い、フロントエンド開発の重要性がますます高まっています。特にモバイル デバイスの人気により、効率的で安定しており、安全で保守が容易なフロントエンド開発テクノロジーが必要です。 Go 言語は、急速に発展しているプログラミング言語として、ますます多くの開発者によって使用されています。では、フロントエンド開発に Go 言語を使用することは可能でしょうか?次に、この記事ではフロントエンド開発にGo言語を使用する方法を詳しく説明します。まずはフロントエンド開発にGo言語が使われる理由を見てみましょう。多くの人は Go 言語は

フロントエンド開発のインタビューでは、HTML/CSS の基本、JavaScript の基本、フレームワークとライブラリ、プロジェクトの経験、アルゴリズムとデータ構造、パフォーマンスの最適化、クロスドメイン リクエスト、フロントエンド エンジニアリング、デザインパターン、新しいテクノロジーとトレンド。面接官の質問は、候補者の技術スキル、プロジェクトの経験、業界のトレンドの理解を評価するように設計されています。したがって、候補者はこれらの分野で自分の能力と専門知識を証明するために十分な準備をしておく必要があります。
