【问题标题】:How to integrate pubnub in loopback4如何在 loopback4 中集成 pubnub
【发布时间】:2019-11-06 03:26:55
【问题描述】:
我正在尝试将 pubnub 集成到我的 loopback 4 应用程序中,但我不确定应该在哪里实例化或使用它?它应该在存储库、控制器或模型中使用吗?如果我尝试在存储库类中实例化它,我必须在模型中创建一个 pubnub 属性。它可以在类之外实例化还是最终会导致错误?
【问题讨论】:
-
最好将其提交给PubNub Support,但这里是高级答案:PubNub 应该在 App 范围内实例化,这样就不必在每个视图中创建/销毁它。我认为它实际上是一个控制器,它为你的视图将被更新的模型提供数据。我希望这会有所帮助。但是提交更多的 Q 来支持,我们可以在这里给出最终答案。也包括指向此 SO 帖子的链接。
标签:
strongloop
pubnub
loopback4
【解决方案1】:
PubNub 实例范围
一般来说,PubNub 应该在任何视图、控制器、模型或实用程序类可访问的应用范围内实例化为单例(在应用程序的整个生命周期中一次且仅一次)。
或者将其设计为将 PubNub 实例作为参数从/传递到应用程序中的每个组件。但在 PoC 工作的早期阶段,我并没有想太多。
您也可以将 PubNub 视为数据库连接:
- 选择 =
subscribe 或 fetchMessages/history
- 插入和更新 =
publish
- 删除 =
deleteMessages
不要太从字面上理解这个类比,但它是一个很好的类比,它可以很好地理解 PubNub 在您的应用程序中与您的用例和要求相关的位置。
事实上,您应该使用数据库思维方式使用应用程序和密钥集配置您的 PubNub 帐户。
阅读本文:Can my PubNub account support multiple environments? 在开发、测试、生产环境方面,数据库类比更进一步。
这应该为您提供以最佳实践方式设计 PubNub 应用程序所需的见解。