Angular2 与 Stomp.js

Posted

技术标签:

【中文标题】Angular2 与 Stomp.js【英文标题】:Angular2 with Stomp.js 【发布时间】:2016-09-21 12:39:56 【问题描述】:

我正在寻找 Stomp.js 或类似的库。我没有发现使用 angular2.rc6/final 示例或 lib。我怎样才能重新放置 Stomp.js 其他东西? 在我之前的 Angular 1.X 项目中,我使用 Stomp.js 和 Sock。 我卡住了。。

更新

我尝试了这个示例应用程序,但没有效果。这个例子已经过时了。 https://github.com/sjmf/ng2-stompjs-demo

【问题讨论】:

项目github.com/sjmf/ng2-stompjs-demo 已更新为通过angular-cli 与Angular 2 一起使用。 【参考方案1】:

如果您使用的是新版本的 angular2 CLI https://cli.angular.io/

我会推荐使用STOMP-Over-WebSocket Service 角度2

安装这个 npm 包

npm i --save stompjs
npm i --save sockjs-client
npm i --save ng2-stomp-service

typings.d.ts

添加stompjssockjs-client模块声明

declare module 'stompjs';
declare module 'sockjs-client';

app.module.ts

import  StompService  from 'ng2-stomp-service';

@NgModule(
  ...
  providers: [StompService]
)

app.components.ts

import  StompService  from 'ng2-stomp-service';

private wsConf = 
  host:'test.com'


constructor(stomp: StompService) 

  stomp.configure(this.wsConf);

  stomp.startConnect().then(() => 
    console.log('connected');
  );



来源https://github.com/devsullo/ng2-STOMP-Over-WebSocket

【讨论】:

这是一个很好的解决方案。它适用于没有安全性的 Spring WebSocket。但是,它不适用于 Spring Security 和 Spring Security WebSocket。 如果应用程序没有使用 Angular CLI 创建,我们该怎么办? Angular 6 有什么变化?【参考方案2】:

有关使用 Observables 的正确 Angular2/4/5 类型 StompService,请参阅 https://github.com/stomp-js/ng2-stompjs。这个库使用 rxjs Observables 公开了整个功能。

据报道,在有或没有安全性的情况下,Spring over WebSockets 都可以使用。

还有 Angular2、Angular4 和 Agular5 的示例应用程序。

【讨论】:

以上是关于Angular2 与 Stomp.js的主要内容,如果未能解决你的问题,请参考以下文章

Angular2指令,构造函数与onInit [重复]

浅谈Angular2与AngularJS的区别

将 CodeMirror 与 Angular2 集成(打字稿)

angular2 与 Slim 框架 jwt 身份验证

Angular2 与 Stomp.js

浅谈angular2与angularJS的区别