[英]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.