我想从不同的位置(本地应用程序和公共模块)加载 graphql 模式。我愿意:
export function GraphqlServer(
resolvers: Record<string, IResolvers>,
config?: Config
) {
const localScheme = '**/*.graphql';
const commonSchema = join(
__dirname,
'./packages/common/src/graphql/api/**/*.graphql'
);
const schema = loadSchemaSync([localScheme, commonSchema], {
loaders: [new GraphQLFileLoader()]
});
const schemaWithResolvers = addResolversToSchema({
schema,
resolvers: {
...resolvers,
Date,
DateTime,
JSON
}
});
但似乎只加载了第一个位置的模式。我收到一个错误
错误:未知类型“GetExternalConfluencePage”。
它在第二个位置的 .graphql 文件中定义。如果我将此文件从第二个位置移动到第一个位置,它将起作用。
.graphql 文件的内容是:
input GetExternalConfluencePage {
confluencePageId: String!
}
type ExternalConfluencePage {
title: String!
body: String!
}
第一个位置的 .graphql 文件包含:
type Query {
macro(input: GetMacroInput!): Macro!
externalConfluencePage(
input: GetExternalConfluencePage!
): ExternalConfluencePage
}
任何提示可能是什么问题?