node.js - Cách khuyến nghị để chia sẻ kiểu giữa frontend và nodejs graphql
Tôi đã bắt đầu sử dụng TypeScript với GraphQL trên Node.js. Nhưng một điều làm tôi chú ý là việc sử dụng gql từ apollo-server-express. Liệu có cách nào tôi có thể sử dụng các kiểu được sử dụng trong schema GraphQL ở nơi khác không.
import { gql } from 'apollo-server-express';
export const userSchema = gql`
type User {
id: String!
name: String
}
type Query {
getUsers: [User]
}
`;
Bây giờ tôi không muốn tạo một giao diện riêng cho User. Và muốn có một giao diện như sau sẵn sàng sử dụng:
export const usersResolver = {
Query: {
getUsers: () => db.get(condition).then(result => {
const users:Array<User> = [];
}
}
};
Ngoài ra, tôi cũng muốn sử dụng những loại này trên frontend.
Làm thế nào điều này có thể được thực hiện.
Câu trả lời #1
Bạn nên sử dụng một công cụ như GraphQL Code Generator để tự động tạo các kiểu cho bạn dựa trên schema và các truy vấn của bạn.