node.js - GraphQL 如何从文件分隔的突变和查询中创建模式
问题描述
假设我有这样的结构:
src/
├── user/
│ ├── mutation.js
│ ├── query.js
├── cars/
│ ├── mutation.js
│ ├── query.js
└── schema.js
如何从用户的mutation.js 和query.js 以及汽车的mutation.js 和query.js 组合在schema.js 中创建模式?
解决方案
@Hangindev 是对的,要连接我需要导出 GraphQLObjectType 字段的所有突变和查询,如下所示:
const userMutation = {
addUser: {
type: UserType,
args: {
username: {type: GraphQLString},
email: {type: GraphQLString},
},
resolve(parent, args) {
let author = new User({
username: args.username,
email: args.email,
});
return author.save();
}
},
}
module.exports = userMutation
稍后将它们添加到架构中:
const Mutation = new GraphQLObjectType({
name: 'Mutation',
fields: {
...userMutation,
...foodPostMutation
}
})
const Query = new GraphQLObjectType({
name: 'Query',
fields: {
...userQuery,
...foodPostQuery
}
})
module.exports = new GraphQLSchema({
query: Query,
mutation: Mutation
})
推荐阅读
- arduino - 使用带有 LSBFIRST 位顺序的 shiftOut() 将数据发送到 Arduino 中的 MAX7219
- javascript - 如何从多维数组创建 [12,24, 13,21]
- sql - Postgres:我怎样才能制作一个 JOIN/Junction 表,其中引用 * 一个 * 两个其他表?
- amazon-s3 - 使用 pyspark 以编程方式从 S3 存储桶中删除镶木地板分区
- typescript - 带有泛型的 TypeScript 中的递归对象文字
- php - PHP:数组值的比较不起作用?
- javascript - Return 语句导致:期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions
- python - 在我的 Mac OS 升级后如何恢复我的 Python cron 作业?
- javascript - Django、Ajax 和 JS 。提交评论时如何防止页面重新加载并跳转到页面顶部
- javascript - 在主键和外键上组合两个数组