[英]GraphQL project structure
构建 graphQL 项目/服务器端的最佳方法是什么? 这是我目前的结构
配置
楷模
我认为没有最好的方法来构造GraphQL服务器。 你看起来还好!
检查此GraphQL API存储库,其中包含几个示例和具有许多不同实现的存储库。
在我的TypeScript项目中,我通常使用如下结构:
src/
├── user/
│ ├── data.ts
│ ├── mutation.ts
│ ├── query.ts
│ └── type.ts
├── bananas/
│ ├── data.ts
│ ├── mutation.ts
│ ├── query.ts
│ └── type.ts
├── utils/
│ ├── database.ts
│ └── config.ts
├── index.ts
└── schema.ts
src
schema
Product
model.js
query.js
mutation.js
type.js
resolvers.js
index.js
Order
query.js
mutation.js
model.js
types.js
resolvers.js
index.js
index.js
让我们探索一下 Product 目录中的内容
query.js :与产品相关的所有查询解析器
mutations.js :所有与产品相关的突变解析器
types.js :所有与产品相关的 GraphQL 类型也包括查询和变异(导出包含 GraphQL 类型的字符串)。
mode.js :产品数据库架构。
resolvers.js :与产品类型相关的所有解析器。 例如:
let Product = {
comments: (user: id) => {
// whatever
}
}
Product/index.js :组合所有文件并将它们导出为Query 、 Mutation 、 types 、 Product (产品类型字段解析器)。
注意:您还可以将 query.js 或其中任何一个转换为文件夹,然后将每个查询和变异解析器写入自己的文件中。
架构/ index.js:将所有导出查询,突变型内index.js并导出为解析器和类型定义
例如
export const resolvers = {
Query: {
...ProductQueries,
...OrderQueries,
},
Mutation: {
...ProductQueries,
...OrderMutations,
},
// schema/Proudct/resolvers.js
Product,
Order
}
有关完整说明,请点击此链接https://theehsansarshar.hashnode.dev/scalable-graphql-architecture
我使用标准文件夹结构创建了最简单的 GraphQL TypeScript 项目。 可以参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.