javascript - 如何将解析器动态导入流星中的模式?
问题描述
我正在尝试将解析器和类型文件动态地导入模式中,并且我使用流星-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)
解决方案
推荐阅读
- git - 如何从本地 git 中删除历史树
- javascript - 停止 D3 解析日期字符串
- reactjs - 在 Post API 上接收 403 SignatureDoesNotMatch 错误以从 GCS 存储桶获取可恢复错误
- angular - HERE 地图中的上下文菜单样式
- android - 应用程序未安装在反应本机android中
- google-bigquery - 在bigquery中使用array_agg时如何删除重复行
- reactjs - 如何摆脱“npm WARN eslint-config-react-app@5.2.0 需要 eslint-plugin-flowtype@3.x 的对等体,但没有安装”警告
- javascript - VM2 内存泄漏
- javascript - DynamoDB list_append 表达式引用错误(node.js)
- reactjs - 如何通过 Formik 验证使用 http 请求的自定义组件?