我正在研究的系统包含许多分布式微服务,每个组件的潜在多个版本可能同时处于活动状态。
我试图构建的Angular2应用程序应该能够通过websockets与这些组件中的每一个进行交互。因为为每个组件的所有未来版本和功能,相应的协议实现甚至新组件准备此应用程序似乎是不可行的,所以我想将此责任推给组件本身。
每个组件都能够通过在同一个websocket连接上发送的包传递其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML / CSS)。
是否有一种模式可以在ng2中实现这种“按需加载”组件及其模板?
答案 0 :(得分:2)
看起来你可以尝试使用路由器延迟加载并提供<a href="http://hijacker.com/pwned">example.com<\a>
的自定义实现,它可以通过websocket加载组件。
答案 1 :(得分:1)
我不太确定我是否完全理解你的问题。
是否有一种模式可以在ng2中实现这种“按需加载”组件及其模板?
使用延迟加载的模块,按需加载模块,请参阅:https://angular.io/docs/ts/latest/guide/ngmodule.html#!#lazy-load 我强烈建议阅读整本指南,这真的很有帮助。
但他们应该能够共享服务和图书馆。
Angulars指南建议共享模块和核心模块。实际上我认为这是最好的方法。只需在上面的链接上向下滚动。
每个组件都能够通过在同一个websocket连接上发送的包传递其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML / CSS)。
这是我不确定的部分,就像我不知道我是否理解你的意思。您不想通过websocket连接加载组件吗?如果是这样,为什么呢? 如果你的意思是只使用相同websocket的每个组件进行通信:我建议一个服务,这将是核心模块的一部分,因此是一个单身人士。然后,组件可以访问此服务,因此它们始终连接到同一个websocket。
答案 2 :(得分:0)