我正在寻找一个有点奇怪情况的解决方案。让我们快速浏览angular2-seed项目,以便更好地解释:https://github.com/mgechev/angular2-seed/tree/master/src/client/app。
在该项目中,我们有3个独立的模块 - about,home,shared。我正在寻找的是一种隔离这些发展的方法,因此我们最终能够独立发布每一部分。例如,假设A队正在研究关于部分,而B队正在家中工作。每个工作都已完成,我们已准备好发布,但是我们发现about部分缺少一个关键功能,但我们仍然希望将更改发布到主页部分。我们正在寻找的是实现这一目标的方法。
以下是一些已经探索过的解决方案,但我对此并不满意:
答案 0 :(得分:8)
<强>配器:强>
让每个团队构建一个组件库(NPM)并将它们放入一个Angular 2应用程序中。这样,团队可以使用microservices principles进行开发,但您可以部署SPA monolith ,从而降低复杂性。
大型组件库应该有多个软件包和模块,因此您可以选择引入的内容。
微服务之间的沟通:
如有必要,组件库可以通过后端消息总线进行通信。
如果组件库之间需要直接客户端集成,那么您需要about
和home
所依赖的第3个组件库,其中包含轻量级可注入消息/事件服务。您可以使用RxJS Subjects实现该服务。
答案 1 :(得分:0)
javascript元框架可以为您服务。 这有趣project 它通过将生命周期应用于整个应用程序来从React组件生命周期中获取灵感。
部分功能:
我希望它能帮助你朝着正确的方向前进。