我希望在我的apollo-server-express服务器上热重新加载我的GraphQL架构。任何人都会知道如何做到这一点?
我目前正在使用模式拼接来收集多个API的模式,但是我不希望每次这些模式更改时都重新启动我的应用程序。
我已经尝试寻找快速路线并将其移除但是这不起作用,我也试图在同一路线上再次呼叫graphQLExpress()
并且没有更新它。
感谢您的帮助!
答案 0 :(得分:2)
我稍微调试了<div class="row align-items-end">
调用,它相当轻量级,只是使用提供的架构返回中间件函数。我能够通过包装它来确保它始终使用我的最新架构:
graphqlExpress
我目前正在使用本地/静态架构,因此文件监视器允许我根据需要更新let schema = createSchema();
app.use('/graphql', bodyParser.json(), function(req, res, next) {
// ensure latest schema is always passed in, we'll reload it automatically
const graphql = graphqlExpress({ schema });
graphql(req, res, next);
});
。
答案 1 :(得分:1)
我设法通过删除快速路线然后重新创建它来完成它。但实际上我发现因为makeRemoteExecutableSchema
在每次请求时发送内省查询,实际上你不需要更新你的模式,它会自动更新。但这并不意味着Graphiql。