管理层希望我们立即与Angular5 SPA集成,因此我们只将整个应用程序导出为具有子路由的模块,并让其他应用程序执行引导程序.@H_502_2@
但我担心上述方法不适用于非角度站点.由于“主机”应用程序需要知道我们的应用程序的所有依赖关系,这不是一个简单的应用程序(我说是相当大)并安装它们,这也导致两个应用程序需要不同版本的相同的依赖关系,更不用说我们需要在升级依赖项或框架本身时进行同步.在将应用程序嵌入更多站点时,我认为这种方法不会扩展.@H_502_2@
我对更一般实现的第一个想法是将我们的应用程序升级到Angular 6并使用自定义元素创建Web组件,但我们需要支持不支持本机封装的IE11和Edge,因此我们需要测试我们的应用程序使用它的每个站点,以确保它们不会破坏我们的样式,我也不知道Web组件是否可以管理子路由.@H_502_2@
其他想法是使用iframe,但我的问题是iframe调整大小以适应内容以及如何在’host’应用程序中从iframe内的’常驻’应用程序添加子路由.@H_502_2@
理想的解决方案应该允许我们的应用程序在多个站点(每个站点提供特定配置)中使用,而无需我们使用我们的应用程序了解站点.@H_502_2@
谢谢你的帮助.@H_502_2@
Angular Elements允许您将Angular组件打包为自定义Web元素,这些Web元素是Web平台API的Web组件集的一部分. Web组件是帮助创建可重用的封装元素的技术.现在,它包括影子DOM,HTML模板,HTML导入和自定义元素.自定义元素技术为Angular Elements提供支持.@H_502_2@
以下是一些参考链接,您可以从中了解有关Angular Elements的更多信息.@H_502_2@
https://angular.io/guide/elements@H_502_2@
https://www.telerik.com/blogs/getting-started-with-angular-elements@H_502_2@
谢谢!@H_502_2@