Apollo-Server,如何在SailsJS中使用它?

时间:2018-08-08 13:57:55

标签: express sails.js graphql apollo apollo-server

我不明白如何将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?

1 个答案:

答案 0 :(得分:2)

我不建议对Sails.JS使用apollo-server。如果您要执行类似的操作,建议您直接使用节点的graphql库并添加自己的端点。 apollo-server只是尝试做太多Sails已经为您做的事情,反之亦然。它实际上并没有做很多事情,您无法轻松地将其插入自己的中间件中。抱歉,祝你好运。