微前端选择qiankun还是iframe?

前言

微前端是什么?微前端是一种架构模式,将整个应用拆分成多个独立的模块,这些模块可以独立开发、部署。我在业务中遇到的2次都是先开发了多个小项目,然后这些小项目在业务上有一定的联系,都属于同一类,产品就希望可以聚合成一个大项目,有一个统一的入口。

技术选型

技术选型大概有2种,一种是使用框架,比如qiankun、无界等,一种是使用iframe引入子项目。那如何选择适合自己项目的方案呢?这2种我都用过,使用之后的感受总的来说就是,优先考虑iframe,如果iframe满足不了或满足起来比较麻烦那就使用框架。

iframe的缺点:

  1. iframe性能消耗大,过多iframe会造成页面卡顿;
  2. 子应用切换需要重新加载资源,慢;
  3. 主子页面通信困难;
  4. cookie无法跨域携带,子应用想使用主应用的登录信息麻烦;
  5. 浏览器刷新,单页应用中url回到首页;

缺点1,把子应用动态加载,每次只加载一个子应用。
缺点2,不在乎切换子应用会重新加载。
缺点3,需要通信的数据只有token,存放在cookie中,主子应用共享。权限判断在主应用中实现。
缺点4,同3。
缺点5,记录下url,刷新页面时先加载这个url对应的子应用;

总结

综上所述,如果iframe的缺点无伤大雅那就使用iframe,否则使用框架。

你可能感兴趣的:(微前端iframe前端)