我正在开发的系统由多个分布式微服务组成,每个组件可能同时活动多个版本。
我正在尝试构建的Angular2应用程序将能够通过websockets与每个组件进行交互。由于似乎无法为每个组件的所有未来版本和特性、相应的协议实现甚至新组件准备此应用程序,所以我想将这一责任推卸给组件本身。
每个组件都能够通过通过相同的websocket连接发送的包来通信其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML/CSS)。
是否有一种模式可以在ng2中支持这种“按需加载”组件及其模板?
发布于 2017-02-23 09:37:14
我不太清楚我是否完全理解你的问题。
是否有一种模式可以在ng2中支持这种“按需加载”组件及其模板?
还有按需加载模块,使用延迟加载模块,请参阅:https://angular.io/docs/ts/latest/guide/ngmodule.html#!#lazy-load我强烈推荐阅读整个指南,这真的很有帮助。
但是他们应该能够共享服务和图书馆。
Angulars指南建议使用共享模块和核心模块。事实上,我认为这是最好的方法。只要在上面的链接上向下滚动。
每个组件都能够通过通过相同的websocket连接发送的包来通信其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML/CSS)。
这是我不确定的部分,好像我不知道我是否正确地理解了你的意思。您不希望通过websocket连接加载组件,对吗?如果是,那为什么?如果您的意思是仅针对每个具有相同websocket的组件进行通信:我建议提供这样的服务,这将是核心模块的一部分,因此也是一个Singleton。然后,组件可以访问此服务,因此它们总是连接到同一个websocket。
发布于 2017-02-21 23:44:34
看起来您可以尝试使用路由器延迟加载,并提供NgModuleFactoryLoader的自定义实现,它可以通过websocket加载组件。
发布于 2017-02-27 20:53:17
https://stackoverflow.com/questions/36792713
复制相似问题