在 Angular 4 应用程序中使用 DDP

Using DDP in Angular 4 Application

我是 Angular 4 开发人员。想要包含在 MeteorJS 中开发的 RocketChat 引擎。通过研究,我知道需要 DDP(协议)才能将 Angular4 与 Meteor 连接。

我找不到任何允许我与 Angular4 TypeScript 集成的 DDP 包。

你能帮我解决这个问题吗?

有几个 ddp-client 软件包。其中有https://github.com/oortcloud/node-ddp-client

基本上它们允许您通过 DDP 与 Meteor 服务器通信。

我会让你看一遍然后决定哪个适合你

您可以使用普通的 DDP 包。可能最受欢迎的是 mondora's asteroid.

但是你也可以使用 Meteor 自己的包。

优点是它们更好维护,而且它们不仅包括 DDP,还包括本地缓存实现和客户端上的 Mongo API。

您不需要为此使用 Meteor 构建系统,这里是 a blog post about meteor-client-bundler

完成后,将 Meteor 的 DDP 与 Angular 集成的最佳方法是通过 Meteor-RxjS

这是一个使用 Ionic 的 simple example using the AngularCLI and a tutorial。 - 在这里您可以使用 Angular CLI 查看一个小示例。

附带说明一下,您将来想要使用的实时协议似乎是 GraphQL 和 GraphQL-Subscriptions。

我们最近为 RocketChat 发布了 PR 以支持 GraphQL - https://github.com/RocketChat/Rocket.Chat/pull/8158 我希望他们能尽快合并。

在此 PR 中,您可以查看 AngularCLI 和 PWA,它使用 RocketChat 的新 GraphQL API - https://github.com/RocketChat/Rocket.Chat.PWA/pull/32