Node.js ';获取对象';GraphQL架构定义中的异常
我定义的模式如下所示:Node.js ';获取对象';GraphQL架构定义中的异常,node.js,graphql,apollo-server,Node.js,Graphql,Apollo Server,我定义的模式如下所示: import { gql } from 'apollo-server'; export default gql` type ProjectEntry { ID: Int! Name: String } # The schema allows the following Queries: type Query { project(id: Int!): ProjectEntry
import { gql } from 'apollo-server';
export default gql`
type ProjectEntry {
ID: Int!
Name: String
}
# The schema allows the following Queries:
type Query {
project(id: Int!): ProjectEntry
projects: [ProjectEntry]
}
`;
最后,我将其与以下内容结合起来:
const typeDefs = require('./data/typedefs');
const resolvers = require('./data/resolvers ');
const server = new ApolloServer({ typeDefs, resolvers });
但是当我尝试运行应用程序时,我得到了以下错误:error:typeDef数组必须只包含字符串和函数,got object
此错误来自何处?如果在引擎盖下使用
导出默认“someString”
,则导出的值的结果值最终为{default:'someString'}
。这就是允许您同时声明默认导出和命名导出的原因。导入您的模块
// like this
const typeDefs = require('./data/typedefs').default
// or like this
import typedefs from './data/typedefs'
如果使用export default'someString'
,则在引擎盖下,exports
值的结果值最终为{default:'someString'}
。这就是允许您同时声明默认导出和命名导出的原因。导入您的模块
// like this
const typeDefs = require('./data/typedefs').default
// or like this
import typedefs from './data/typedefs'
我也犯了同样的错误。
解决方案:
const { typeDefs } = require('./data/typedefs');
const { resolvers } = require('./data/resolvers ');
需要括号,因为我们不导出默认值。
与前端一样:
export default Component -> import Component from "..."
export const Component -> import { Component } from "..."
我也犯了同样的错误。
解决方案:
const { typeDefs } = require('./data/typedefs');
const { resolvers } = require('./data/resolvers ');
需要括号,因为我们不导出默认值。
与前端一样:
export default Component -> import Component from "..."
export const Component -> import { Component } from "..."
你是如何导入typeDefs的?@DanielRearden,我已经用你要求的信息更新了帖子。你是如何导入typeDefs的?@DanielRearden,我已经用你要求的信息更新了帖子。