node.js - Modalitatea recomandată de a partaja tipuri între frontend și graphql nodejs
Am început să folosesc TypeScript cu GraphQL pe Node.js. Dar un lucru care mă frapează este utilizarea gql din apollo-server-express. Există vreun mod în care pot folosi tipurile folosite în schema GraphQL și în altă parte.
import { gql } from 'apollo-server-express';
export const userSchema = gql`
type User {
id: String!
name: String
}
type Query {
getUsers: [User]
}
`;
Acum nu vreau să creez o interfață separată pentru User. Și aș dori ca o interfață ca următoarea să fie disponibilă imediat:
export const usersResolver = {
Query: {
getUsers: () => db.get(condition).then(result => {
const users:Array<User> = [];
}
}
};
De asemenea, aș dori să folosesc aceste tipuri și pe frontend.
Cum se poate face acest lucru.
Răspuns #1
Ar trebui să folosești ceva de genul GraphQL Code Generator pentru a genera automat tipurile pentru tine pe baza schemei și interogărilor tale.