我正在尝试从一堆graphQL软件包中构建一个可执行模式,在合并这些模式之前,我需要添加指令。但是makeExecutableSchema在所有软件包合并后运行。在makeExecutableSchema之前可以使用指令吗?
function buildExecutableSchema(packageInfos = []) {
const allTypeDefs = R.filter(isNotEmptyOrNil, R.map(pkg => pkg.allTypeDefs, packageInfos));
const mergedTypeDefs = mergeTypes(allTypeDefs);
const resolvers = getPackageInfoResolvers(packageInfos);
const logger = { log: e => log.error(e) };
// https://www.apollographql.com/docs/graphql-tools/generate-schema.html#makeExecutableSchema
const execSchema = makeExecutableSchema({
typeDefs: mergedTypeDefs,
resolvers,
logger,
allowUndefinedInResolve: graphqlOptions.allowUndefinedInResolve,
resolverValidationOptions: graphqlOptions.resolverValidationOptions,
inheritResolversFromInterfaces: graphqlOptions.inheritResolversFromInterfaces,
schemaDirectives: {
packagedata:packageDataToType
}
});
return execSchema;
}```