Ошибка, которую вы получаете, состоит в том, что вы только выставляете server
из ApolloServer
на порт 4000 и не выставляете app
с помощью клиентского приложения.
Для того, чтобыПриложение fullstack развернуто, вы также должны предоставить app
, чтобы сделать это, вы можете использовать applyMiddleware
из ApolloServer
и связать сервер apollo и клиентский интерфейс, что-то вроде:
.....
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'public', 'index.html'));
});
const server = new ApolloServer({
typeDefs: schema,
resolvers,
});
server.applyMiddleware({
path: '/my-frontend', // you should change this to whatever you want
app,
});
app.listen({ port: process.env.PORT || 4000 }, () => {
console.log(`? Server ready at http://localhost:4000`);
});
Теперь вы сможете перейти на http://localhost:4000/my-frontend
и увидеть свое клиентское приложение.
Надеюсь, это поможет.