从外部内容加载动态组件

Jen*_*ger 5 distributed microservices angular2-template angular

我正在研究的系统由许多分布式微服务组成,每个组件的潜在多个版本可能同时处于活动状态.

我试图构建的Angular2应用程序应该能够通过websockets与这些组件中的每一个进行交互.因为为每个组件的所有未来版本和功能,相应的协议实现甚至新组件准备此应用程序似乎是不可行的,所以我想将此责任推给组件本身.

每个组件都能够通过在同一个websocket连接上发送的包传递其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML/CSS).

是否有一种模式可以在ng2中实现这种"按需加载"组件及其模板?

ber*_*ben 1

我不太确定我是否完全理解你的问题。

是否有一种模式可以在 ng2 中实现这种“按需加载”组件及其模板?

嗯,有按需加载模块,使用延迟加载模块,请参阅: https: //angular.io/docs/ts/latest/guide/ngmodule.html# !#lazy-load 我强烈建议阅读整个指南,这确实很有帮助。

但他们应该能够共享服务和图书馆。

Angulars 指南建议了一个共享模块和一个核心模块。事实上,我认为这确实是最好的方法。只需向下滚动上面的链接即可。

每个组件都能够通过通过同一 websocket 连接发送的包来传达其功能(以 NG2 组件的形式)以及协议实现和必要的 GUI 元素 (HTML/CSS)。

这是我不确定的部分,就像我不知道我是否正确理解你的意思一样。您不想通过 websocket 连接加载组件,对吧?如果是这样,那为什么呢?如果您的意思是仅使用相同 websocket 的每个组件进行通信:我建议使用一个服务来执行此操作,该服务将成为核心模块的一部分,因此是单例。然后,组件可以访问该服务,因此它们始终连接到同一个 websocket。