我希望在我的apollo- server -express服务器上热重新加载我的GraphQL模式。有没有人知道该怎么做?
我目前正在使用模式拼接来收集多个API的模式,但是我不希望每次这些模式发生变化时都必须重新启动应用程序。
我试着寻找快速路线并将其删除,但它不起作用,我还试图在同一路线上再次调用graphQLExpress(),但没有更新它。
谢谢你的帮忙!
发布于 2018-03-06 05:55:28
我深入研究了一下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);
});我目前正在使用本地/静态模式,因此文件监视器允许我根据需要在这里更新schema。
发布于 2018-01-16 00:58:15
我设法删除了快线,然后重新创建了它。但实际上我发现,因为makeRemoteExecutableSchema在每次请求时都会发送内省查询,所以实际上不需要更新模式,它会自动更新。但这并不意味着Graphiql。
https://stackoverflow.com/questions/48261057
复制相似问题