如何将角度应用程序嵌入另一个应用程序?

前端之家收集整理的这篇文章主要介绍了如何将角度应用程序嵌入另一个应用程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的团队开发了一个已经投入生产一段时间的角度5应用程序,但我们最近的任务是让应用程序在公司拥有的其他3个站点中运行.一个站点是使用Angular6构建的SPA,另一个站点是SPA但使用Angular5,而另一个站点使用一些较旧的库,如jQuery.

管理层希望我们立即与Angular5 SPA集成,因此我们只将整个应用程序导出为具有子路由的模块,并让其他应用程序执行引导程序.

但我担心上述方法不适用于非角度站点.由于“主机”应用程序需要知道我们的应用程序的所有依赖关系,这不是一个简单的应用程序(我说是相当大)并安装它们,这也导致两个应用程序需要不同版本的相同的依赖关系,更不用说我们需要在升级依赖项或框架本身时进行同步.在将应用程序嵌入更多站点时,我认为这种方法不会扩展.

我对更一般实现的第一个想法是将我们的应用程序升级到Angular 6并使用自定义元素创建Web组件,但我们需要支持不支持本机封装的IE11和Edge,因此我们需要测试我们的应用程序使用它的每个站点,以确保它们不会破坏我们的样式,我也不知道Web组件是否可以管理子路由.

其他想法是使用iframe,但我的问题是iframe调整大小以适应内容以及如何在’host’应用程序中从iframe内的’常驻’应用程序添加子路由.

有没有更好的方法来实现我们需要做的事情?

理想的解决方案应该允许我们的应用程序在多个站点(每个站点提供特定配置)中使用,而无需我们使用我们的应用程序了解站点.

谢谢你的帮助.

我认为你的问题的解决方案存在于Angular Elements中.它非常酷,由有远见的团队提供.

Angular Elements允许您将Angular组件打包为自定义Web元素,这些Web元素是Web平台API的Web组件集的一部分. Web组件是帮助创建可重用的封装元素的技术.现在,它包括影子DOM,HTML模板,HTML导入和自定义元素.自定义元素技术为Angular Elements提供支持.

以下是一些参考链接,您可以从中了解有关Angular Elements的更多信息.

https://angular.io/guide/elements

https://www.telerik.com/blogs/getting-started-with-angular-elements

谢谢!

猜你在找的Angularjs相关文章