在spa中组合多个js组件的最佳实践/体系结构

时间:2016-10-26 10:36:35

标签: javascript architecture web-component

我想为单页面应用程序提供以下架构:

  1. 每个页面或窗口小部件可以是一个独立的可重用模块(可以为该项目重用,但也可以在其他页面上使用)
  2. 将有一个核心应用程序将使用所有这些外部模块。核心应用程序将能够与模块通信,反之亦然。
  3. 每个模块都可以用任何技术编写(反应,角度,香草)
  4. 每个模块应该独立部署(类似于动态延迟加载)
  5. 核心应用程序应负责模块的配置(api urls etc)
  6. 我无法想到实现我所陈述的所有内容的好方法,也无法在Google上找到任何内容..但我可能会错过这种架构的关键字。

    任何想法,最佳做法或仅仅是一些相关的输入?谢谢!

1 个答案:

答案 0 :(得分:0)

在仔细研究了这个主题之后,我认为符合我要求的架构基于网络组件(可以在这里阅读更多相关信息 - http://webcomponents.org/,并建议使用像聚合物这样的库)。 Web组件的优势在于它们可以容纳所需的一切(html,css,ajax请求,基本上可以在html文档中的任何内容),并使用阴影或阴影dom将这些组件隐含在文档中,就像我们一样会用iframe做一次。

通过使用这种架构,您将能够在不关心包装技术(角度1/2,反应,淘汰赛,香草js等)的情况下迁移组件。例如,为了在角度中使用它,我们只需用一个指令包装一个组件就可以了。 另一个好处是你甚至可以在不同的服务器上托管这些组件,因此可以单独部署它们。