1. Installieren Sie Node.js und NPM:
Node.js ist eine Server-Plattform, die auf der JavaScript-Engine des Chrome-Browsers aufgebaut ist. NPM ist ein Paketmanager für Node, der Ihnen das Installieren und Aktualisieren von Paketen erleichtert. Sie können sie beide auf der offiziellen Website herunterladen: https://nodejs.org
2. Erstellen Sie einen neuen Ordner für Ihr Projekt und navigieren Sie im Terminal zu diesem Ordner:
mkdir mein_graphql_server cd mein_graphql_server3. Initialisieren Sie ein neues Node.js-Projekt, indem Sie `npm init -y` in Ihrem Terminal eingeben. Dadurch wird eine `package.json`-Datei in Ihrem Projektordner erstellt.
4. Installieren Sie Express, GraphQL und Express-GraphQL als Abhängigkeiten in Ihrem Projekt:
npm install express graphql express-graphql5. Erstellen Sie eine neue Datei `server.js` in Ihrem Projektordner und fügen Sie den grundlegenden Code für einen Express-Server hinzu:
const express = require(‘express’); const app = express(); app.listen(4000, () => console.log(‘Server läuft auf Port 4000’));6. Importieren Sie die benötigten Libraries und definieren Sie ein Schema und einen Root Resolver:
const express = require(‘express’); const { graphqlHTTP } = require(‘express-graphql’); const { buildSchema } = require(‘graphql’); // Definieren Sie das Schema const schema = buildSchema(` type Query { hello: String } `); // Definieren Sie den Resolver const root = { hello: () => ‘Hello world!‘ }; // Verwenden Sie diese Konfiguration für den Endpunkt /graphql app.use(‘/graphql’, graphqlHTTP({ schema: schema, rootValue: root, graphiql: true })); app.listen(4000, () => console.log(‘Server läuft auf Port 4000’));7. Starten Sie Ihren Server mit `node server.js`.
8. Gehen Sie zu `localhost:4000/graphql` in Ihrem Webbrowser. Dort sollten Sie eine GraphQL-IDE sehen. Geben Sie `{ hello }` in die linke Seite der Konsole ein und klicken Sie auf “Ausführen”.
Diese Schritte beschreiben ein sehr einfaches Beispiel für eine GraphQL-API mit Node.js. Für komplexere Anwendungen benötigen Sie auch Datenbanken, verschiedene Typen und Resolvers, Mutations (um Daten zu ändern), Abonnements (um Echtzeit-Aktualisierungen zu erhalten) und wahrscheinlich auch Authentifizierung und Autorisierung.