У меня есть это странное требование (потому что у меня нет ничего в inte rnet о том, как его использовать. Так что, думаю, это только я) при использовании Express и Apollo Server.
Я хочу использовать промежуточное ПО Express после использования промежуточного ПО сервера Apollo, но не могу.
Пример :
const { ApolloServer } = require('apollo-server-express');
const express = require('express')
const app = express();
const server = new ApolloServer({typedefs, resolvers})
app.use(...); // Middleware-1
app.use(...); // Middleware-2
app.use(server.getMiddleware()); // Apollo server middleware
app.use(...); // Middleware-3
app.listen({ port: 4000 }, () =>
console.log(`? Server ready at http://localhost:4000${server.graphqlPath}`)
);
В приведенном выше коде Middleware-3 никогда не вызывается. Я много об этом искал, но ничего не получил.
Есть ли способ вызвать Middleware-3 после Промежуточное ПО сервера Apollo ?
Спасибо.
Редактировать: 1 Я забыл упомянуть, что не хочу изменять ответ от ApolloServer. У меня уже есть некоторые промежуточные программы Express, которые я не хочу реорганизовывать / модифицировать / писать совершенно новые, чтобы иметь возможность использовать их вместе с Apollo. Итак, есть ли какой-нибудь хакерский способ следовать порядку app.use()
даже после промежуточного программного обеспечения ApolloServer?