首页 > 解决方案 > 如何将解析器动态导入流星中的模式?

问题描述

我正在尝试将解析器和类型文件动态地导入模式中,并且我使用流星-cleverbeagle 入门工具包。但是当我尝试使用 loadFilesSync 方法时,我在控制台上得到了这个:错误:找不到模块'meteor/mongo'。如何动态导入解析器?提前致谢。

文件结构:

+-- api
|   +-- Comments
|   |   +-- comment.resolvers.js
|   |   +-- comment.graphql
|   |   +-- index.js
|   +-- merged.js // call all resolvers and types on here and merge them
+-- startup
|   +-- Server
|   |   +-- api //call merged.js in here

合并的.js:

const { loadFilesSync } = require('@graphql-tools/load-files')
const { mergeTypeDefs, mergeResolvers } = require('@graphql-tools/merge')

const typesArray = loadFilesSync(process.env.PWD + '/**/*.graphql', {
  extensions: ['graphql'],
  recursive: true,
})
const typeDefs = mergeTypeDefs(typesArray, { all: true })

const resolversArray = loadFilesSync(process.env.PWD + '/api/**/*.resolvers.*')
const resolvers = mergeResolvers(resolversArray)

module.exports = {
  typeDefs,
  resolvers,
}

/startup/server/api.js

import { typeDefs, resolvers } from '../../api/merged'

const schema = {
  typeDefs,
  resolvers,
  resolverValidationOptions: { requireResolversForResolveType: false },
}

export default makeExecutableSchema(schema)

标签: javascriptnode.jsmeteorgraphqlgraphql-tools

解决方案


推荐阅读