试图分离GraphQL typedef和解析器知道为什么这样做有效吗?

问题描述

我试图将定义的类型和解析器分别分成各自的文件typeDefs.js和resolvers.js。

我的文件夹结构是:

--server
----server.js
----resolver.js
----typeDefs.js

我在将resolver.js和typeDefs.js导入server.js时遇到麻烦。我终于可以使用以下代码解决问题:

const { ApolloServer } = require('apollo-server');
const neo4j = require('neo4j-driver');
const typeDefs = require('./typeDefs').typeDefs;
const resolvers = require('./resolvers').resolvers;

// Creating instance of neo4j driver,used to connect to neo4j DB using NodeJS.
const driver = neo4j.driver('neo4j://localhost:7687',neo4j.auth.basic('neo4j','sprout123'))

// Creating a session object for the connection to neo4j DB and setting access mode to READ for querying.
const session = driver.session({defaultAccessMode: neo4j.session.READ});


/**********************************************************
 * SETTING UP Apollo Server
 *********************************************************/

 console.log(typeof resolvers.resolvers)
 console.log(typeof typeDefs.typeDefs)

// Starting Apollo Server
const server = new ApolloServer({
    context: driver,typeDefs: typeDefs.typeDefs,resolvers: resolvers.resolvers,playground: true,introspection: true
});

server.listen().then(({ url }) => {  
  console.log(`Server ready at ${url}`);
});

这是我的typeDefs.js文件:

const { gql } = require('apollo-server');

const typeDefs = gql`...`;

exports.typeDefs = typeDefs;

当我将.typeDefs和.resolvers添加到require语句时,该问题已解决。

有人知道为什么这可以解决问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...