Sambungan WebSocket ke 'ws://localhost:4000/graphql' gagal:
P粉344355715
P粉344355715 2023-08-29 23:58:21
0
1
650
<p>Saya kini mendapat ralat <em>Websocket Unable to Connect</em> pada kedua-dua bahagian klien dan pelayan (seperti yang ditunjukkan dalam imej di bawah). Saya tidak menggunakan sebarang konfigurasi Websocket lain selain daripada yang dinyatakan dalam klien apollo. Ini mengelirukan saya selama kira-kira dua hari. Sebarang bantuan amatlah dihargai. Jika anda perlu melihat sebarang kod lanjut sila beritahu saya. </p> <p>Saya mempunyai <strong>pelanggan aplikasi Vue</strong> disambungkan ke pelayan <strong>graphql apollo</strong>. Kod untuk konfigurasi apolloclient diberikan di bawah.</p> <p> <pre class="snippet-code-js lang-js prettyprint-override"><code>// pakej Apollo import { ApolloClient } daripada "apollo-boost-upload"; import { WebSocketLink } daripada "apollo-link-ws"; import { HttpLink } daripada "apollo-link-http"; import { InMemoryCache } daripada "apollo-cache-inmemory"; import { split } daripada "apollo-link"; import { getMainDefinition } daripada "apollo-utiliti"; import VueApollo daripada "vue-apollo"; Vue.use(VueApollo); wsLink = WebSocketLink baharu({ uri: "ws://localhost:4000/graphql", // gunakan wss untuk titik akhir yang selamat pilihan: { sambung semula: benar, }, }); pautan const = split( // berpecah berdasarkan jenis operasi ({ pertanyaan }) => { definisi const = getMainDefinition(query); kembali ( definition.kind === "OperationDefinition" && definition.operation === "langganan" ); }, wsLink, httpLink ); // Pelaksanaan cache export const defaultClient = ApolloClient baru({ // uri: "http://localhost:4000/graphql", pautan, cache: InMemoryCache baharu(), fetchOptions: { kelayakan: "termasuk", }, permintaan: (operasi) => { // jika tiada token dalam storan tempatan, tambahkannya jika (!localStorage.anaceptToken) { localStorage.setItem("anaceptToken", ""); } // operasi menambah token pada pengepala authorizatrion, yang dihantar ke hujung belakang operation.setContext({ tajuk: { kebenaran: "Pembawa " + localStorage.getItem("anaceptToken"), }, }); }, onError: ({ graphQLErrors, networkError }) => { if (networkError) { console.log("[networkError]", networkError); } jika (grafQLErrors) { for (const error of graphQLErrors) { console.dir(error); console.log(error); jika ( error.name === "AuthenticationError" || error.message === "jwt tamat tempoh" ) { // tetapkan ralat pengesahan dalam keadaan store.commit("setError", error); // pengguna log keluar untuk mengosongkan ralat store.dispatch("signUserOut"); } } } }, });</code></pre> </p> <p>vue 配置文件</p> <pre class="brush:php;toolbar:false;">const { defineConfig }= memerlukan("@vue/cli-service"); const NodePolyfillPlugin = memerlukan("node-polyfill-webpack-plugin"); module.exports = defineConfig({ Pilihan pemalam: { apollo: { enableMocks: benar, enableEngine: benar, }, }, transpileDependencies: ["vuetify"], chainWebpack: (config) => { config.performance.maxEntrypointSize(400000).maxAssetSize(400000); new NodePolyfillPlugin(); }, });</pre>
P粉344355715
P粉344355715

membalas semua(1)
P粉914731066

Cuba localhost 4004 yang menarik, pasti berkesan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan