Leo-lin214 / keep-learning

:books: 好好学习,天天向上
6 stars 0 forks source link

微前端 #22

Open Leo-lin214 opened 4 years ago

Leo-lin214 commented 4 years ago

可以参考好的文章,后面我会做一个简答的总结。😄

微前端存在的意义和价值

微前端(可以说是一种类似微服务的架构,它将微服务理念应用于浏览器端),就是将单页面应用拆分为多个小型应用所组成的应用。

微前端架构锁拆分出来的小应用,都是可以独立运行、独立开发、独立部署的。

微前端架构的好处在于以下几个方面。

  1. 降低代码耦合。
  2. 适合迁移大型应用代码,单独拆分出来应用可以独立部署,不影响整成使用。
  3. 团队可在拆分应用中安排人手独立开发和维护。

实现微前端常见方式

  1. iframe

    使用iframe容器注入应用,可以说是最古老也是效果不错的方式。iframe容器中可以独立管理不同应用,然后通过postmessage通信或者iframeEl.contentWindow通信

  2. HTTP服务器路由跳转

    最常见的就是使用Ngix HTTP服务器,先将应用拆分为两个小应用,并独立部署后,根据路由跳转到相应的小应用中,但需要注意的是,小应用之间是独立开发的,并不产生耦合条件

  3. 第三方框架实现

    常见的如single-spa框架,其实现原理就是将每个子应用都打包成一个独立的js文件,通过registerApplication接口来约定应用于主框架交互行为