Weboldal keresés

node.js - Ajánlott mód a típusok megosztására a frontend és a nodejs graphql között


Elkezdtem TypeScriptet használni GraphQL-lel Node.js-en. De egy dolog, ami feltűnt, az a gql használata a apollo-server-express-ből. Van mód arra, hogy a GraphQL sémában használt típusokat máshol is használhassam?

import { gql } from 'apollo-server-express';

export const userSchema = gql`
  type User {
    id: String!
    name: String
  }

  type Query {
    getUsers: [User]
  }
`;

Most nem szeretnék külön felületet létrehozni a User számára. És szeretném, ha a következő felület azonnal elérhető lenne:

export const usersResolver = {
  Query: {
    getUsers: () => db.get(condition).then(result => {
      const users:Array<User> = [];
    }
  }
};

Emellett szeretném ezeket a típusokat a frontendben is használni.

Hogyan lehet ezt megtenni.

Válasz #1

Használnod kellene valami olyasmit, mint a GraphQL Code Generator, hogy automatikusan generálja a típusokat a sémád és a lekérdezéseid alapján.