HaY*_*awa 1 javascript node.js graphql
构造graphQL项目/服务器端的最佳方法是什么?这是我目前的结构
配置
楷模
我不认为有 最好的方法来构造GraphQL服务器。你看起来还好!
检查一下 GraphQL APIs回购,其中包含几个示例和具有许多不同实现的存储库。
在我的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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
让我们探索一下 Product 目录中的内容
query.js:与产品相关的所有查询解析器
mutations.js:与产品相关的所有突变解析器
types.js:所有与产品相关的 GraphQL 类型也包含查询和突变(导出包含 GraphQL 类型的字符串)。
mode.js:产品数据库架构。
solvers.js:与 Product 类型相关的所有解析器。例如:
let Product = {
comments: (user: id) => {
// whatever
}
}
Run Code Online (Sandbox Code Playgroud)
Product/index.js:合并所有文件并将它们导出为Query、Mutation、types、Product(产品类型字段解析器)。
注意:您还可以将 query.js 或其中任何一个转换为文件夹,然后将每个查询和突变解析器写入其自己的文件中。
schema/index.js:将所有导出的Query、Mutation、type合并到 index.js 中,并将它们导出为解析器和typeDefs
例如
export const resolvers = {
Query: {
...ProductQueries,
...OrderQueries,
},
Mutation: {
...ProductQueries,
...OrderMutations,
},
// schema/Proudct/resolvers.js
Product,
Order
}
Run Code Online (Sandbox Code Playgroud)
有关完整的描述,请点击此链接 https://theehsansarshar.hashnode.dev/scalable-graphql-architecture
| 归档时间: |
|
| 查看次数: |
3385 次 |
| 最近记录: |