http://dev.apollodata.com/tools/apollo-server/setup.htmlの Apollo ドキュメントに従ってサーバーをセットアップしたようです。私のserver/main.jsファイルでは:
//SET UP APOLLO INCLUDING APOLLO PUBSUB
const executableSchema = makeExecutableSchema({
typeDefs: Schema,
resolvers: Resolvers,
connectors: Connectors,
logger: console,
});
const GRAPHQL_PORT = 8080;
const graphQLServer = express();
// `context` must be an object and can't be undefined when using connectors
graphQLServer.use('/graphql', bodyParser.json(), apolloExpress({
schema: executableSchema,
context: {}, //at least(!) an empty object
}));
graphQLServer.use('/graphiql', graphiqlExpress({
endpointURL: '/graphql',
}));
graphQLServer.listen(GRAPHQL_PORT, () => console.log(
`GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}/graphql`
));
//SET UP APOLLO INCLUDING APOLLO PUBSUB
サーバーが正常に初期化されたことを示す「GraphQL Server is now running on http://localhost:8080/graphql 」がターミナル ログに出力されます。
しかし、このコードを実行すると、main_layout コンポーネントの上部で次のようになります。
import { Client } from 'subscriptions-transport-ws';
const wsClient = new Client('ws://localhost:8080');
...次のコンソール メッセージが表示されます。
'ws://localhost:8080/' への WebSocket 接続に失敗しました: ハンドシェイク応答を受信する前に接続が閉じられました
私は何が欠けていますか?