在 Angular5 中使用 SockJS 时出错 - “sockjs_client_1.SockJS 不是构造函数”

coo*_*ron 4 websocket sockjs typescript angular angular5

我现在正在关注本教程,我已经到了必须在我的 Angular5 组件中实例化我的 SockJS-Client 的地方。

这是我所做的:

  1. 我执行以下命令来安装所需的库:

    npm install stompjs
    npm install sockjs-client
    npm install jquery
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我将库导入到我的组件中,如下所示:

    import { Stomp } from 'stompjs';
    import { SockJS } from 'sockjs-client';
    import $ from 'jquery';
    
    Run Code Online (Sandbox Code Playgroud)
  3. 最后我尝试实例化 SockJS:

    constructor(){
        this.initializeWebSocketConnection();
    }
    
    initializeWebSocketConnection(){
        let ws = new SockJS(this.serverUrl);  //<- This is the line causing the error
        this.stompClient = Stomp.over(ws);
        let that = this;
        this.stompClient.connect({}, function(frame) {
            that.stompClient.subscribe("/chat", (message) => {
                if(message.body) {
                    $(".chat").append("<div class='message'>"+message.body+"</div>")
                    console.log(message.body);
                }
            });
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

错误错误:未捕获(承诺):类型错误:sockjs_client_1.SockJS 不是构造函数

我找不到有关此问题的任何信息。

ksh*_*ine 10

尝试:

import * as SockJS from 'sockjs-client';
Run Code Online (Sandbox Code Playgroud)

或者

import SockJS from 'sockjs-client';
Run Code Online (Sandbox Code Playgroud)