Wie ruft das Frontend die GraphQL-API auf?
GraphQL ist sowohl eine Abfragesprache für APIs als auch eine Laufzeit zum Abfragen Ihrer Daten. GraphQL bietet eine vollständige, leicht verständliche Beschreibung der Daten in Ihrer API, sodass der Client ohne Redundanz genau die Daten erhält, die er benötigt.
GraphQL verfügt über serverseitige Implementierungen für verschiedene Sprachen, um Entwicklern beim Aufbau von GraphQL Server zu helfen. (Empfohlenes Lernen: Front-End-Video)
Und gq-loader ist ein Webpack-Plug-in. Sie können es sich als clientseitige Implementierung für Front-End-Projekte vorstellen Der Zweck besteht darin, die Front-End-Entwicklung zu unterstützen. Es ist für Studenten einfacher, die GraphQL-API aufzurufen. Es macht es für Front-End-Entwickler einfacher, GraphQL zu verwenden, und ermöglicht Front-End-Entwicklern den Import von .gql und .graphql-Dateien in js-Dateien durch Import oder Require und dann direkt aufrufen.
Und es unterstützt auch den Import anderer .gql-Dateien, wie z. B. Fragmente, über die #import-Syntax.
#import stellt außerdem zwei Aliase bereit, nämlich #require und #include. Die Verwendung und das Verhalten dieser beiden Aliase sind genau die gleichen wie bei #import.
Installieren
npm install gq-loader --save-dev
oder
yarn add gq-loader
Grundlegende Verwendung
wie andere Loader ist dasselbe. Zuerst fügen wir die Konfiguration von gq-loader in webpack.config.js hinzu
{ test: /\.(graphql|gql)$/, exclude: /node_modules/, use: { loader: 'gq-loader' options: { url: 'Graphql Server URL' } } }
Dann können wir die .gql-Datei in die js-Datei importieren und sie verwenden Ein Beispiel: Angenommen, es gibt bereits einen funktionierenden Graphql-Server. Dann erstellen wir zunächst eine getUser.gql
#import './fragment.gql' query MyQuery($name: String) { getUser(name: $name) ...userFields } }
, die Benutzer abfragen kann. Wie Sie sehen, verweisen wir über #import auf ein anderes .gql-Dateifragment. In dieser Datei beschreiben wir die Feldinformationen des Benutzers, die zurückgegeben werden sollen, damit wir sie an verschiedenen Stellen „wiederverwenden“ können. Wir erstellen auch diese Datei
fragment userFields on User { name age }
Okay, wir können getUser.gql direkt in importieren js-Datei und verwenden Sie sie, um Benutzer abzufragen.
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'));
Beim Aufruf von getUser können wir Variablen als Funktionsparameter übergeben.
Benutzerdefinierte Anfrage
Der Standard-GQ-Loader hilft Ihnen beim Ausfüllen der GraphQL-Anfrage, aber in einigen Szenarien möchten Sie bei Bedarf möglicherweise alle Anfragen selbst steuern. Wir können die Anfrage auch über das Anfrageattribut „anpassen“. Schauen Sie sich das Beispiel an. Sie müssen zuerst die Loader-Konfiguration leicht ändern.
{ test: /\.(graphql|gql)$/, exclude: /node_modules/, use: { loader: 'gq-loader' options: { url: 'Graphql Server URL', //指定自动请求模块路径 request: require.resolve('your_request_module_path'); } } }
Geben Sie den benutzerdefinierten Anfragemodulpfad in your_request_module_path und gq-loader ein Das entsprechende Anforderungsmodul wird automatisch geladen und verwendet. Das Modul muss lediglich eine „Anforderungsfunktion“ ändern. Siehe das folgende benutzerdefinierte Beispiel.
onst $ = require('jquery'); //url 是要请求的 GraphQL 服务地址 //data 是待发送的数据 //options 是自定义选项 module.exports = function(url, data, options){ //如果有需要还可以处理 options return $.post(url, data); };
Unter diesen sind Optionen der „zweite Parameter der Funktion“ nach dem Import .gql-Datei kann beispielsweise wie folgt aussehen: Übergeben Sie den Optionsparameter
import getUser from './getUser.gql'; async function query() { const options = {...}; const user = await getUser({ name: 'bob' }, options); console.log('user', user); }
. Beachten Sie, dass die Erweiterung beim Importieren in js nicht weggelassen werden kann, unabhängig davon, welcher Wert für die Erweiterungen von gq-loader konfiguriert ist Die Option gilt nur für den Import anderer GQL-Dateien in .gql-Dateien
Das obige ist der detaillierte Inhalt vonWie ruft das Frontend die GraphQL-API auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der nicht blockierende und ereignisgesteuerte Knotendienst hat den Vorteil eines geringen Speicherverbrauchs und eignet sich sehr gut für die Verarbeitung massiver Netzwerkanforderungen. Unter der Voraussetzung massiver Anfragen müssen Probleme im Zusammenhang mit der „Speicherkontrolle“ berücksichtigt werden. 1. Der Garbage-Collection-Mechanismus und die Speicherbeschränkungen von V8 Js wird von der Garbage-Collection-Maschine gesteuert

Vue.js ist heute ein sehr beliebtes Framework in der Front-End-Entwicklung. Da sich Vue.js ständig weiterentwickelt, werden Unit-Tests immer wichtiger. Heute untersuchen wir, wie man Unit-Tests in Vue.js 3 schreibt, und stellen einige Best Practices sowie häufige Probleme und Lösungen vor.

Das Dateimodul ist eine Kapselung der zugrunde liegenden Dateioperationen, wie z. B. Lesen/Schreiben/Öffnen/Schließen/Löschen von Dateien, Hinzufügen usw. Das größte Merkmal des Dateimoduls besteht darin, dass alle Methoden zwei Versionen von **synchronem** und **bereitstellen. asynchron**, mit Methoden mit dem Suffix sync sind alle Synchronisationsmethoden, und diejenigen ohne sind alle heterogene Methoden.

Domänenübergreifend ist ein Szenario, das in der Entwicklung häufig vorkommt und auch ein häufig in Interviews diskutiertes Thema ist. Die Beherrschung gängiger domänenübergreifender Lösungen und der dahinter stehenden Prinzipien kann nicht nur unsere Entwicklungseffizienz verbessern, sondern auch in Vorstellungsgesprächen bessere Leistungen erbringen.

PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools In der heutigen Zeit der rasanten Entwicklung des Internets ist die Front-End-Entwicklung immer wichtiger geworden. Da Benutzer immer höhere Anforderungen an das Erlebnis von Websites und Anwendungen stellen, müssen Frontend-Entwickler effizientere und flexiblere Tools verwenden, um reaktionsfähige und interaktive Schnittstellen zu erstellen. Als zwei wichtige Technologien im Bereich der Front-End-Entwicklung können PHP und Vue.js in Kombination als perfekte Waffe bezeichnet werden. In diesem Artikel geht es um die Kombination von PHP und Vue sowie um detaillierte Codebeispiele, die den Lesern helfen sollen, diese beiden besser zu verstehen und anzuwenden

Zu Beginn lief JS nur auf der Browserseite. Es war einfach, Unicode-codierte Zeichenfolgen zu verarbeiten, aber es war schwierig, binäre und nicht Unicode-codierte Zeichenfolgen zu verarbeiten. Und Binär ist das Datenformat der niedrigsten Ebene des Computer-, Video-/Audio-/Programm-/Netzwerkpakets

Mit der Entwicklung der Internet-Technologie hat die Front-End-Entwicklung immer mehr an Bedeutung gewonnen. Insbesondere die Popularität mobiler Geräte erfordert eine Front-End-Entwicklungstechnologie, die effizient, stabil, sicher und einfach zu warten ist. Als sich schnell entwickelnde Programmiersprache wird die Go-Sprache von immer mehr Entwicklern verwendet. Ist es also möglich, die Go-Sprache für die Front-End-Entwicklung zu verwenden? Als Nächstes wird in diesem Artikel ausführlich erläutert, wie die Go-Sprache für die Front-End-Entwicklung verwendet wird. Werfen wir zunächst einen Blick darauf, warum die Go-Sprache für die Front-End-Entwicklung verwendet wird. Viele Leute denken, dass die Go-Sprache eine ist

In Front-End-Entwicklungsinterviews decken häufige Fragen ein breites Themenspektrum ab, darunter HTML/CSS-Grundlagen, JavaScript-Grundlagen, Frameworks und Bibliotheken, Projekterfahrung, Algorithmen und Datenstrukturen, Leistungsoptimierung, domänenübergreifende Anfragen, Front-End-Engineering, Designmuster sowie neue Technologien und Trends. Interviewerfragen sollen die technischen Fähigkeiten, die Projekterfahrung und das Verständnis des Kandidaten für Branchentrends beurteilen. Daher sollten Kandidaten in diesen Bereichen umfassend vorbereitet sein, um ihre Fähigkeiten und Fachkenntnisse unter Beweis zu stellen.
