【问题标题】:STOMP WebSocket with Svelte带有 Svelte 的 STOMP WebSocket
【发布时间】:2021-07-20 23:28:21
【问题描述】:

由于“未定义 WebSocket”错误,我在尝试让 stomp 客户端与 SvelteKit 一起工作时遇到问题。从一些研究来看,这似乎是因为 Node 是如何参与的,但我找不到任何关于如何阻止 Node 尝试处理模块或获取某种 polyfil 以便加载的帮助。有什么建议吗?

<script lang="ts">
  import * as Stomp from 'stompjs';
  ...
  const client = Stomp.client(url);
  client.connect(headers, () => { console.log('connected'); })

得到错误信息:

9:17:24 am [vite] page reload src/routes/index.svelte (x5)
WebSocket is not defined
ReferenceError: WebSocket is not defined

【问题讨论】:

    标签: javascript stomp sveltekit


    【解决方案1】:

    您好,我也遇到了同样的问题,谷歌搜索后我找到了解决方案:

    WebSocket 是客户端特定的功能,您必须确保此代码仅在浏览器中执行(默认情况下,脚本部分在服务器和客户端上执行)

    我在 onMount 中编写了我的代码,并且工作正常

    <script>
    import { onMount } from 'svelte';
    
    onMount(() => {
        const client = new WebSocket('wss://localhost:5001/rpc');
        //some I/O stuff
    })
    </script>
    

    来源:https://stackoverflow.com/a/69160015/1067045

    【讨论】:

      猜你喜欢
      • 2016-05-02
      • 2016-07-04
      • 2017-10-04
      • 2015-01-25
      • 2017-05-29
      • 2012-11-03
      • 2016-03-21
      • 2011-11-22
      • 2023-03-31
      相关资源
      最近更新 更多