经过3个月的辩论和研究,关于在React(与Redux)和Angular 2之间进行选择的研究,我公司的前端团队最终决定采用Angular 2(因为它更适合我们的问题)。
我们正在从事企业应用程序业务,该业务目前由许多不同的前端技术组成(同时拥有整个后端RESTful),我们希望将其全部替换,并拥有一种技术来简化将来的培训和质量控制。
鉴于我们产品的性质,产品范围很广,并且其中包含模块,这些模块本身是不同的域,可以作为独立的应用程序制作,但产品本身位于单个URL中。
例;
我们将我的产品称为SuperApp。
作为UI,SuperApp具有标准的登录系统,并可以导航到子模块/子产品,因此工作流如下所示。
超级应用
- 验证用户
- 忘记密码向导
- 无需身份验证即可访问公共页面
认证用户
导航系统
- 家
- 子产品1
- 子产品2
- 子产品3
轮廓
...
...
团体
...
...
- 家
请注意,在以上表示中,Sub-product1
和Sub-product2
是两个完全不同的领域,具有完全不同的业务领域。
我现在可以想到的是,我可以将SuperApp创建为单个Angular 2项目,仅包含与其自身相关的组件和视图,并且SuperApp还负责加载多个子应用程序;Sub-product1
,Sub-product2
(同样是不同的Angular 2项目,它们都有自己的package.json
,webpack
配置等)通过哑组件,并充当提供顶级路由的Shell和占位符来容纳这些子应用。
有一次,Sub-product1
在壳体内加载时,它会自己的路由附加到当前路由SuperApp在已经登陆。
我想要分离的原因是因为这些不同的应用程序(当前使用ExtJS构建)具有专门的团队(我们是一家拥有500多个开发人员的公司),因此,如果他们拥有自己的Angular项目,则可以管理其工具并依赖于他们的喜好,而无需依赖父级父级应用。
但是我无法在官方的Angular文档中或网上找到任何地方是否可以嵌套Angular应用程序(以这种方式共享框架代码,而完全隔离子应用程序的依赖项并仅在应用程序加载时需要),或者是否有其他替代方法可以解决此问题。
任何指导,甚至任何相关文章的链接,将不胜感激。