在 Angular5 中使用 SockJS 时出错 - “sockjs_client_1.SockJS 不是构造函数”
Posted
技术标签:
【中文标题】在 Angular5 中使用 SockJS 时出错 - “sockjs_client_1.SockJS 不是构造函数”【英文标题】:Error using SockJS in Angular5 - "sockjs_client_1.SockJS is not a constructor" 【发布时间】:2018-03-15 16:06:12 【问题描述】:我现在正在关注这个tutorial,我已经到了关键点,我必须在我的 Angular5 组件中实例化我的 SockJS-Client。
这是我所做的:
我执行了以下命令来安装所需的库:
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);
);
);
我得到的错误是:
错误错误:未捕获(承诺中):TypeError:sockjs_client_1.SockJS 不是构造函数
我找不到关于这个问题的任何信息。
【问题讨论】:
【参考方案1】:试试:
import * as SockJS from 'sockjs-client';
或
import SockJS from 'sockjs-client';
【讨论】:
第一个选项对我有用,非常感谢!!!您能解释一下为什么我的选择会导致该错误吗? 我只能说这是我在另一个使用 SockJS 的示例中看到的导入方式。我想这只是模块如何定义的问题。以上是关于在 Angular5 中使用 SockJS 时出错 - “sockjs_client_1.SockJS 不是构造函数”的主要内容,如果未能解决你的问题,请参考以下文章
浏览器控制台出错,请求 /sockjs-node/info?t=1555629946494
在 Angular 5 和 AOT-Build 中使用 @angular 编译器时出错
Java Glassfish Spring Sockjs失败:WebSocket握手期间出错:意外的响应代码:500
Websockets + SockJs:使用 stompclient 时,ConnectCallback 未在客户端执行