it-swarm.com.de

Apollo GraphQL Server + TypeScript

Ich habe in letzter Zeit an einem Projekt gearbeitet, das node.js + express + TypeScript + Apollo Server Stack enthält. Und während ich über Apollo-Client recherchierte, bin ich über den TypeScript-Abschnitt gestolpert. Aber nichts dergleichen war für Server, was mir in diesem Fall die Wahlfreiheit lässt.

Die Frage ist also: Gibt es Best Practices für die Implementierung von Apollo graphql server mit TypeScript oder was sollte ich zumindest vermeiden?

9
naffiq

Ich habe dazu eine kleine Bibliothek und eine CLI geschrieben. Es generiert TypeScript-Typisierungen sowohl für Server (gemäß Ihrem Schema) als auch für Client (gemäß Ihrem Schema und GraphQL-Dokumenten) . Außerdem generiert es Resolvers-Signatur und ist sehr anpassbar.

Sie können es hier versuchen: https://github.com/dotansimha/graphql-code-generator

Die Idee dahinter war, dem Entwickler die Möglichkeit zu geben, GraphQL und die generierten Typisierungen optimal zu nutzen und die generierte Ausgabe einfacher anzupassen.

11
Dotan Simha

Ich verwende eine GraphQL-CLI . Sie würden es gerne so installieren

npm install -g graphql-cli

dann generieren Sie Ihr GraphQL-Projekt mit der Unterstützung von TypeScript 

 enter image description here

Weitere Informationen: https://oss.prisma.io/content/graphql-cli/05-Boilerplates.html

5
AFD

Ich habe apollo-server-express mit TypeScript für einige Projekte verwendet und ich habe eine kleine Demo zu gitHub damit.

Ich bin nicht sicher über best practices, aber apollo-server-express bietet grundsätzlich eine graphqlExpress- und graphiqlExpress-Prozedur.

Weitere Informationen finden Sie in den Dokumenten zu Apollo Server mit Express .

1
MarcoDaniels

Ich benutze TypeScript + apollo graphql server seit einiger Zeit und habe eine Vorlage gestartet, die dotan'sgraphql-code-generator zusammen mit einigen definierten Ordnerstrukturen und Ansätzen enthält, die alles machen gut zusammenarbeiten. Der Fokus liegt darauf, es einfach zu halten, aber ich füge hinzu, es gibt gute Praktiken und nützliche Bibliotheken.

Das Github-Repo ist hier .

0
henry74