Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Angular5中使用SockJS时出错-“;sockjs“U客户端”1.sockjs不是构造函数;_Angular_Typescript_Websocket_Angular5_Sockjs - Fatal编程技术网

在Angular5中使用SockJS时出错-“;sockjs“U客户端”1.sockjs不是构造函数;

在Angular5中使用SockJS时出错-“;sockjs“U客户端”1.sockjs不是构造函数;,angular,typescript,websocket,angular5,sockjs,Angular,Typescript,Websocket,Angular5,Sockjs,我现在正在关注这一点,我已经到了关键点,我必须在Angular5组件中实例化我的SockJS客户机 以下是我在中所做的: 我执行了以下命令来安装所需的库: npm install stompjs npm install sockjs-client npm install jquery 我将库导入到我的组件中,如下所示: import { Stomp } from 'stompjs'; import { SockJS } from 'sockjs-client'; import $ from

我现在正在关注这一点,我已经到了关键点,我必须在Angular5组件中实例化我的SockJS客户机

以下是我在中所做的:

  • 我执行了以下命令来安装所需的库:

    npm install stompjs
    npm install sockjs-client
    npm install jquery
    
  • 我将库导入到我的组件中,如下所示:

    import { Stomp } from 'stompjs';
    import { SockJS } from 'sockjs-client';
    import $ from 'jquery';
    
  • 最后,我尝试实例化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);
                }
            });
        });
    }
    
    constructor(){
    this.initializeWebSocketConnection();
    }
    初始化WebSocketConnection(){
    让ws=newsockjs(this.serverUrl);//{
    if(message.body){
    $(“.chat”).append(“+message.body+”)
    console.log(message.body);
    }
    });
    });
    }
    
  • 我得到的错误是:

    错误:Uncaught(承诺中):TypeError:sockjs\u client\u 1.sockjs不是构造函数

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

    请尝试:

    import * as SockJS from 'sockjs-client';
    


    第一个选择对我很有效,非常感谢!!!你能解释一下为什么我的选择导致了这个错误吗?我能说的是,这就是我在另一个使用SockJS的示例中看到的导入方式。我想这只是模块如何定义的问题。
    import SockJS from 'sockjs-client';