Akryum / Akryum/vue-cli-plugin-apollo

Uncaught DOMException: Failed to construct 'WebSocket': The URL 'undefined' is invalid.

未关闭
#155 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
need repro
主要语言
JavaScript
星标
477
派生
109
PR 合并指标
30 天内没有已合并 PR

描述

version 0.20.0

When wsEndpoint is added to the _createProvider_ configuration this error is returned

`Uncaught DOMException: Failed to construct 'WebSocket': The URL 'undefined' is invalid.`
![image](https://user-images.githubusercontent.com/8209966/59604710-33bae700-910d-11e9-9534-290ff53d07b3.png)

The reason is that wsClient created in `./node_modules/vue-cli-plugin-apollo/graphql-client/dist/index.js` uses a different SubscriptionClient constructor than apollo-link-ws. Hence this check fails
![image](https://user-images.githubusercontent.com/8209966/59607531-c9597500-9113-11e9-8ecc-27c48acb521a.png)

A new SubscriptionClient is created passing paramsOrClient.uri, which is undefined.
paramsOrClient exposes .url, not .uri.

apollo-link-ws uses SubscriptionClient from `./node_modules/subscriptions-transport-ws`
![image](https://user-images.githubusercontent.com/8209966/59607795-47b61700-9114-11e9-9bd5-3aae0a88f02c.png)
while `./node_modules/vue-cli-plugin-apollo/graphql-client/dist/index.js` uses SubscriptionClient from `./node_modules/vue-cli-plugin-apollo/node_modules/subscriptions-transport-ws`
![image](https://user-images.githubusercontent.com/8209966/59607943-9cf22880-9114-11e9-8fa9-6c4972fdcd82.png)

Manually removing` ./node_modules/vue-cli-plugin-apollo/node_modules/subscriptions-transport-ws` fixes it in that webpack uses ./node_modules/subscriptions-transport-ws for both.

I think the plugin should be released without subscriptions-transport-ws in node_modules

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。