我不明白如何将Apollo服务器与类似Sails.JS
(基于Express
)的应用一起使用。
Apollo服务器的自述文件(https://github.com/apollographql/apollo-server#express)指出Express
应用需要以下代码:
const server = new ApolloServer({ typeDefs, resolvers });
const app = express();
server.applyMiddleware({ app });
但是为什么?而如何,您如何在Sails.JS
中使用它?
为什么我们不能改为使用此代码? :
let apollo = require('apollo-server').ApolloMiddleware
app.use( '/graphql', apollo({ typeDefs, resolvers }) );
我不是唯一遇到此问题的人:Why isn't Apollo Server a middleware for Express, rather than being a server that accepts Express as a middleware?
答案 0 :(得分:2)
我不建议对Sails.JS使用apollo-server
。如果您要执行类似的操作,建议您直接使用节点的graphql
库并添加自己的端点。 apollo-server
只是尝试做太多Sails已经为您做的事情,反之亦然。它实际上并没有做很多事情,您无法轻松地将其插入自己的中间件中。抱歉,祝你好运。