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
中添加stompjs
和sockjs-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的主要内容,如果未能解决你的问题,请参考以下文章