【发布时间】:2019-08-04 21:13:30
【问题描述】:
(目前不使用 Apollo)
所以我有 server.js:
let graphqlHTTP = require('express-graphql');
... // (other graphQL setup)
let users = []; // or any DB solution here
const {
UserType,
UserFactory
} = require('./schema/typeDef.js');
const { QueryType } = require('./schema/query.js');
... // similar imports
// other server declarations
例如,我有 typeDef.js:
const UserType = new GraphQLObjectType({
name: 'User',
fields: {
id: { type: new GraphQLNonNull(GraphQLInt) },
username: { type: new GraphQLNonNull(GraphQLString }
}
});
const UserFactory = function(username, id) {
return {username: username, id: id};
};
module.exports = { UserType, UserFactory };
问题是,我希望能够将 UserType 添加到 server.js 中的数据库(在此代码示例中为 users 数组);但当然,typeDef.js 无权访问 server.js 中声明的数据库。
我最初将文件分开是因为我不希望 server.js 的架构代码过于臃肿。
我应该怎么做?谢谢!
【问题讨论】:
标签: graphql graphql-js express-graphql