【发布时间】:2018-11-03 00:32:21
【问题描述】:
我们有主要的大型应用程序,将使用不同的库(Angular、React 等)创建单独的小型应用程序(微服务),并将它们编译成 web 组件以在任何地方使用它们。主应用程序有一些库(例如 underscore.js),我们的一些组件使用相同的库(例如 lodash.js),在这种情况下,我们在主应用程序中使用 web 组件时会看到很多冲突。您对我们如何隔离 Web 组件库以及它们可以在隔离模式下工作有什么想法吗?我们也使用过 ShadowDOM,但没有运气。
【问题讨论】:
-
如果您要创建要在任何地方使用的微服务和组件,那么我建议不要为这些使用任何外部库。这将允许它们在任何地方使用。如果您使用 Angular 或 React 之类的库,那么组件的可移植性就会降低。即使您使用 lodash 或其他库,如果您不使用任何库,那么您创建的可移植代码也会更少。您的应用程序可以使用它想要的任何东西,但您的组件应该使用很少甚至不使用库。
-
非常感谢您的评论。但是基于微服务架构,您可以使用任何框架,并且应该是隔离的和独立的可交付的。我正在尝试在前端实现这种方法。
标签: html web-component angular-components shadow-dom custom-element