我正在使用 GraphQL 并且有一个如下所示的resolvers.js文件:
const User = require("../models/User");
const Post = require("../models/Post");
module.exports = {
Query: {
async users(){...},
async user(){...},
async posts(){...},
async post(){...},
},
User: {...},
Post: {...},
Mutation: {
createUser(){...},
login(){...},
createPost(){...},
},
}
Run Code Online (Sandbox Code Playgroud)
但是如果我有更多的模型、查询和突变,文件会很长。如何将其拆分为单独的文件?一种用于用户查询和突变,一种用于帖子等。或者那是不可能的?也许有一种方法可以将它与schema.js文件结合起来?这样我也可以拆分架构并将架构/解析器从 User 放入一个文件中。我仍然是编码的初学者。
小智 5
我找到了一种方法,实际上很容易做到。在 schema.js 中,我可以使用 lodash merge 来组合多个解析器文件,而对于 typedef,我只使用一个数组。这样我就可以将所有内容拆分为单独的文件。
const { merge } = require("lodash");
module.exports = makeExecutableSchema({
typeDefs: [typeDefs, userTypeDefs],
resolvers: merge(resolvers, userResolvers)
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3222 次 |
| 最近记录: |